所以这是我的python代码
print rating
rating = pow( rating,1/5 )
print rating
输出
0.0
1.0
我的数学知识告诉我pow(0,任何东西)应该为零。怎么了 ? :/
答案 0 :(得分:2)
1 / 5
等于0
,pow(anything, 0)
为1.0
。另一方面,1.0 / 5
约为0.2
,1 / 5.0
和1.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