kud*_*aji 0 python math logarithm
这是我写的:
>>> import math
>>> 2/3*math.log(2/3,2)
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: math domain error
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下我做错了什么吗?谢谢.
我假设这是Python 2.7.
在2.7中,默认情况下,除了分区之外,2/3的评估结果为0.因此,您正在尝试记录0,因此错误.另一方面,Python 3默认执行浮点除法.
要获得正确的行为,您可以:
from __future__ import division,它为您提供Python 2.7中的Python 3划分行为.2/3用2/float(3),或替换每个2/3.0.| 归档时间: |
|
| 查看次数: |
5736 次 |
| 最近记录: |