为什么这个简单的计算返回0
>>> 25/100*50  
0
虽然这实际上正确计算?
>>> .25*50
12.5
>>> 10/2*2  
10
第一个例子有什么问题?
Thi*_*ter 83
在Python 2中,25/100执行整数除法时为零.因为结果不到1.
您可以通过添加from __future__ import division到脚本来"修复"此问题.当使用/运算符并//用于整数除法时,这将始终执行浮点除法.
另一个选择是使至少一个操作数浮动,例如25.0/100.
在Python 3中,25/100总是如此0.25.
Lev*_*von 17
这是整数截断的问题(即,丢弃数字的任何小数部分).所以:
25 / 100 给 0
但是,只要该除法中的至少一个操作数是浮点数,您将得到一个浮点结果:
 25 / 100.0或25.0 / 100  或25.0 / 100.0全部放弃0.25
| 归档时间: | 
 | 
| 查看次数: | 47658 次 | 
| 最近记录: |