Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
分数的Python指数计算_Python_Python 2.7 - Fatal编程技术网

分数的Python指数计算

分数的Python指数计算,python,python-2.7,Python,Python 2.7,我试图计算27^(1/3)=3。但结果并不像预期的那样 >>> 27 ** (1/3) 1 >>> 27 ** (1/3.) 3.0 首先,为什么第一次计算结果是1,是因为1/3被转换成整数,所以它等于零吗 其次,“.”在Python中通常意味着什么?我可以在任何数字后面加一个点,以便将其从int转换为double吗 谢谢 首先,为什么第一次计算会得到1,是因为1/3吗 是否将其转换为整数,使其等于零 是的,就是这样 “.”在Python中通常意味着什么?我

我试图计算27^(1/3)=3。但结果并不像预期的那样

>>> 27 ** (1/3)
1
>>> 27 ** (1/3.)
3.0
首先,为什么第一次计算结果是1,是因为1/3被转换成整数,所以它等于零吗

其次,“.”在Python中通常意味着什么?我可以在任何数字后面加一个点,以便将其从int转换为double吗

谢谢

首先,为什么第一次计算会得到1,是因为1/3吗 是否将其转换为整数,使其等于零

是的,就是这样

“.”在Python中通常意味着什么?我可以在它后面加一个点吗 任何数字都可以将其从int转换为double

明确地将数字设为浮点数,因为
1.0
与仅
1
相反

首先,为什么第一次计算会得到1,是因为1/3吗 是否将其转换为整数,使其等于零

是的,就是这样

“.”在Python中通常意味着什么?我可以在它后面加一个点吗 任何数字都可以将其从int转换为double


显式地将数字设为浮点数,因为
1.0
与python 2中的整数除法相反

在python 2中:

>>> 2/3
0
在python 3中:

>>> 2/3
0.6666666
如果您想在python2中实现python3的行为,可以这样做

from __future__ import division
作为你的第一次进口

对于整数除法,使用

>>> 2 // 3
0

或者您可以使用
2.0/3.0
来使用
float
s。

您在python 2中体验到整数除法

在python 2中:

>>> 2/3
0
在python 3中:

>>> 2/3
0.6666666
如果您想在python2中实现python3的行为,可以这样做

from __future__ import division
作为你的第一次进口

对于整数除法,使用

>>> 2 // 3
0

或者您可以使用
2.0/3.0
来使用
float
s.

在python 2.x中,整数的除法默认为底除法,因此任何非整数商都会自动向下舍入到最接近的整数

>>> 1/3
0
>>> 5/2
2
因此,当你试图计算27**(1/3)时,你只是在计算27**0

这个问题有很多解决方法,最简单的方法是只使用指数中的浮点-(1.0/3.0),甚至只使用(1/3.0)。然而,如果你要做很多这样的计算,不断地以浮点形式输入所有的数字可能会变得很烦人。在这种情况下,您可以使用future模块来利用Python 3.x除法行为,这通常会产生一个浮点值:

>>> from __future__ import division
>>> 1/3
0.3333333333333333
这样,计算将永远不会默认为楼层划分。如果您希望在同一个程序中使用楼层除法,则可以使用//运算符获得类似于python 2.x整数除法的行为,如下所示:

>>> 1//3
0

在Python2.x中,整数的除法默认为底数除法,因此任何非整数商都会自动向下舍入到最接近的整数

>>> 1/3
0
>>> 5/2
2
因此,当你试图计算27**(1/3)时,你只是在计算27**0

这个问题有很多解决方法,最简单的方法是只使用指数中的浮点-(1.0/3.0),甚至只使用(1/3.0)。然而,如果你要做很多这样的计算,不断地以浮点形式输入所有的数字可能会变得很烦人。在这种情况下,您可以使用future模块来利用Python 3.x除法行为,这通常会产生一个浮点值:

>>> from __future__ import division
>>> 1/3
0.3333333333333333
这样,计算将永远不会默认为楼层划分。如果您希望在同一个程序中使用楼层除法,则可以使用//运算符获得类似于python 2.x整数除法的行为,如下所示:

>>> 1//3
0

你所有的猜测都是正确的。请记住,在python-3中,数字默认为浮点。@mehmetminanc:在python-3中,数字默认为非浮点。如果在Python3中编写整数文本,它仍然是整数。但是,
/
除法运算符总是执行浮点除法。FWIW,这是官方Python 2中最先涉及的主题之一。“除法(/)运算的返回类型取决于其操作数。如果两个操作数都是int类型,则执行下限除法并返回int。如果其中一个操作数是浮点,则执行经典除法并返回浮点。无论操作数是什么,都会提供//运算符进行下限除法。”@PM2Ring Oh,我其实很惊讶。不过,这两者之间有什么实际意义吗?@mehmetminanc:“整数和浮点之间有什么实际意义吗?”?当然Python整数可以任意大(给定内存限制);浮动的范围和精度有限。有关详细信息,请参阅维基百科的文章。Python使用它的浮动。你所有的猜测都是正确的。请记住,在python-3中,数字默认为浮点。@mehmetminanc:在python-3中,数字默认为非浮点。如果在Python3中编写整数文本,它仍然是整数。但是,
/
除法运算符总是执行浮点除法。FWIW,这是官方Python 2中最先涉及的主题之一。“除法(/)运算的返回类型取决于其操作数。如果两个操作数都是int类型,则执行下限除法并返回int。如果其中一个操作数是浮点,则执行经典除法并返回浮点。无论操作数是什么,都会提供//运算符进行下限除法。”@PM2Ring Oh,我其实很惊讶。不过,这两者之间有什么实际意义吗?@mehmetminanc:“整数和浮点之间有什么实际意义吗?”?当然Python整数可以任意大(给定内存限制);浮动的范围和精度有限。有关详细信息,请参阅维基百科的文章。Python使用它的浮动。附录:切换到Python3,其中用
/
除法总是给你一个浮动。很多