2018年5月29日火曜日

開発環境

Pythonからはじめる数学入門 (Amit Saha (著)、黒川 利明 (翻訳)、オライリージャパン)の4章(SymPyで代数と式を計算する)、4.6(プログラミングチャレンジ)、問題4-1(因数ファインダー)を取り組んでみる。

コード(Emacs)

Python 3

#!/usr/bin/env python3

from sympy import pprint, sympify, SympifyError

if __name__ == '__main__':
    while True:
        try:
            eq = input('式を入力: ')
            if eq == 'q':
                break
            eq = sympify(eq)
            pprint(eq.factor())
        except SympifyError as err:
            print(type(err), err)

入出力結果(Terminal, Jupyter(IPython))

$ ./sample1.py
式を入力: a +
<class 'sympy.core.sympify.SympifyError'> Sympify of expression 'could not parse 'a +'' failed, because of exception being raised:
SyntaxError: unexpected EOF while parsing (<string>, line 1)
式を入力: x ** 2 + 2 * x + 1
       2
(x + 1) 
式を入力: x ** 2 + 3 * x + 2
(x + 1)⋅(x + 2)
式を入力: x ** 3 + 1
        ⎛ 2        ⎞
(x + 1)⋅⎝x  - x + 1⎠
式を入力: x ** 3 + x ** 2 + x + 1
        ⎛ 2    ⎞
(x + 1)⋅⎝x  + 1⎠
式を入力: q
$

1 コメント :

น้องส้มส้มさんのコメント...

数学 私はまったくうまくない しかし、彼がこれを読むようになったとき、私はそれが困難ではないことを知っています。 ประวัติศาสตร์

コメントを投稿