提问者:小点点

Python整数除法生成浮点数


Python 3.1 (r31:73574, Jun 26 2009, 20:21:35) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> 2/2
1.0

这是有意的吗? 我强烈记得早期版本返回int/int=int? 我该怎么办,是有一个新的除法运算符还是必须一直投?


共3个答案

匿名用户

请看PEP-238:更改除法运算符

//操作员可以明确要求楼层划分。

匿名用户

哎呀,马上找到2//2

匿名用户

希望它能立刻帮到别人。

在Python 2.7中:默认情况下,除法运算符将返回整数输出。

求取“被除数或除数”的双倍数1.0的结果

100/35 => 2 #(Expected is 2.857142857142857)
(100*1.0)/35 => 2.857142857142857
100/(35*1.0) => 2.857142857142857

在Python3中

// => used for integer output
/ => used for double output

100/35 => 2.857142857142857
100//35 => 2
100.//35 => 2.0    # floating-point result if divsor or dividend real