開発環境
- macOS High Sierra - Apple
- Emacs (Text Editor)
- Python 3.6 (プログラミング言語)
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 コメント :
数学 私はまったくうまくない しかし、彼がこれを読むようになったとき、私はそれが困難ではないことを知っています。 ประวัติศาสตร์
コメントを投稿