如何计算python的平方根?
为什么python会给出“错误”的答案?
x= 16
sqrt= x**(.5)
returns 4
sqrt= x**(1/2)
returns 1
是的,我知道import math
并使用sqrt
。 但我正在寻找上述答案。
sqrt=x**(1/2)
正在做整数除法。 1/2 == 0
。
所以你首先计算x(1/2),第二次计算x(0)。
所以这没有错,这是另一个问题的正确答案。
您必须编写: sqrt = x**(1/2.0)
,否则执行整数除法并且表达式1/2
返回0
。
这种行为在Python 2.x中是“正常的”,而在Python 3.x中, 1/2
计算结果为0.5
。 如果您希望Python 2.x代码的行为类似于from __future__ import division
3.x wrt division write - 则1/2
将评估为0.5
并且为了向后兼容, 1//2
eill评估为0
。
为了记录,计算平方根的首选方法是:
import math
math.sqrt(x)
/
在Python 2中执行整数除法:
>>> 1/2
0
如果其中一个数字是浮点数,则按预期工作:
>>> 1.0/2
0.5
>>> 16**(1.0/2)
4.0
链接地址: http://www.djcxy.com/p/86633.html