2011-05-23 111 views

回答

16

这并不奇怪行为从round()

试试这个:

>>> 2/3 
0 

使用带有两个整数值的/将执行整数除法。所以参数round()已经 0,这使得round()返回0

更新:2/3会做一个浮点除法为2.0/3确实在Python 2:为@马克的评论,this behaviour changed in Python 3注意。2//3可用于在两个版本上获得整数除法行为)。

你的最后一个例子工程,因为2.0不是整数,所以2.0/3会做一个“propper”浮点除法:

>>> 2.0/3 
0.6666666666666666 
+0

感谢您的快速回复 – Jibin 2011-05-23 08:58:34

+3

注意这是蟒蛇1.x和2真.x但python> - 3已经改变了这个,所以2/3给出0.6666666666666666参见 Mark 2011-05-23 08:59:22

相关问题