如何计算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

上一篇: How to calc square root in python?

下一篇: *Methods* calling a boolean