ファイルにいくつかの数学関数 (文字列として表される) があります。
1+a**(b/(3*a+1))
(1+a)**(b/(3*a+1))
...
**
文字列内のすべての s を に変換するにはどうすればよいmath.pow
ですか?
編集:私が解決しようとしているのは次のとおりです:評価するこの関数がたくさんありますが、1つに多くの時間を費やすことはできません。
時々、関数は次のようになります:
(3**100**100**2)
Python はそれを評価しようとしますが、これは非常に長いです。代わりに次のようなエラーが必要です。
>>> math.pow(3, math.pow(100, 100))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OverflowError: math range error
編集2:答えてくれてありがとう、私はついにそれを行う方法を見つけました.あなたの答えとコメントは私を大いに助けてくれました. ファイルの先頭にある次の行で強制的に浮動小数点数を除算する必要がありました。
from __future__ import division