python - 为什么 Python 给出平方根的 "wrong"答案? Python 2 中的整数除法是什么?

标签 python math python-2.x sqrt

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.51//2 将改为整数除法。

关于python - 为什么 Python 给出平方根的 "wrong"答案? Python 2 中的整数除法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9595135/

相关文章:

python - 处理 python 类/方法命名中冗余单词的优雅方法

Windows 中的 Python 子进程

python - 如何使用 Selenium WebDriver 按名称定位文本输入?

javascript - 为什么舍入值不同?

python - 在Python中调用help(help)时 'with a twist'是什么意思?

python - 尝试计算算法时间复杂度

algorithm - 在线性时间内计算集合交集?

c - 如何优化我的代码以查找所有可能的积分三角形的所有积分中位数,其中 a <= b <= c <= 100000?

python - 类型错误: 'str' 对象不可调用

python - Round 函数不四舍五入?