奇怪的python计算

时间:2014-07-06 22:29:53

标签: python math

所以这是我的python代码

print rating
rating = pow( rating,1/5 )
print rating

输出

0.0
1.0

我的数学知识告诉我pow(0,任何东西)应该为零。怎么了 ? :/

3 个答案:

答案 0 :(得分:2)

1 / 5等于0pow(anything, 0)1.0。另一方面,1.0 / 5约为0.21 / 5.01.0 / 5.0也是如此。因为,作为教程mentioned,具有两个积分操作数的数学运算具有积分结果。

答案 1 :(得分:2)

1/5被截断为0(因为您使用的是Python2)

pow(0, 0)按惯例返回1。如果你需要了解原因,你应该检查math.stackexchange。

答案 2 :(得分:2)

表达式1/5将为0,因为它是使用整数算术评估的:

int/int = int

因此,pow(rating, 0)的结果为1-0

你能做什么?为了获得预期的结果(float),你可以使用float代替int号码:< / p>

1.0 / 5     # float / int = float
1 / 5.0     # int / float = float
1.0 / 5.0   # float / float = float