x = 16
sqrt = x**(.5) #returns 4
sqrt = x**(1/2) #returns 1
我知道我可以 import math
并使用 sqrt
,但我正在寻找上述问题的答案。 Python 2 中的整数除法是什么?此行为已在 Python 3 中修复。
最佳答案
在 Python 2 中,sqrt=x**(1/2)
进行整数除法。 1/2 == 0
.
所以 x(1/2) 等于 x(0),也就是 1。
没有错,这是对不同问题的正确答案。
如果您想在不导入数学模块的情况下计算平方根,则需要使用 x**(1.0/2)
或 x**(1/2.)
。其中一个整数必须是 float 。
注意:在 Python 3 中情况并非如此,其中 1/2
将是 0.5
而 1//2
将改为整数除法。
关于python - 为什么 Python 给出平方根的 "wrong"答案? Python 2 中的整数除法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9595135/