【发布时间】:2018-08-20 02:20:46
【问题描述】:
a = 1.5
i = 0
k = 0.2
results = []
while True:
i += 1
results.append(k)
if k < a**i:
continue
elif k > a**i and k < 2 * a**1:
k = k - a**i
elif k > 2 * a**i:
k = k - 2 * a**i
else:
break
print(results)
这是一个解决现实生活中数学问题的 Python 代码。当我运行它时,终端给出了这样的回溯:
Traceback (most recent call last):
File "fusing.py", line 11, in <module>
if k < a**i:
OverflowError: (34, 'Result too large')
我在堆栈溢出时发现了another question 关于该错误的信息。接受的答案说OP可以使用十进制库来修复它。我不确定我是否应该使用它或者还有其他一些解决方案。如果有人能告诉我该怎么做,我将不胜感激。
【问题讨论】:
-
你试过了吗?没用吗?
-
好的,但是当您修复错误时,运行仍然需要很长时间
-
好吧,我会试试的。只是想知道这是否是最好的方法,以及是否有其他解决方案。
标签: python python-3.x