标签:integer-division python division
我想知道是否有任何理由不使用//运算符将数字舍入为整数.我在这个主题上看不多,或者真的知道要找什么来了解更多.
>>> from random import random
>>> random() * 20 // 1
1.0
>>> random() * 20 // 1
0.0
>>> random() * 20 // 1
16.0
>>> random() * 20 // 1
11.0
>>> random() * 20 // 1
0.0
除了需要在结果中加1(不得到1-20而不是0-19的范围)或者这个实际结果是否在0-20范围内?
解决方法:
不使用它的主要原因是有完美的内置函数int和round已经做到这一点,这可能是有效的,并且不会混淆读取代码的人.
注释中指出的另一个原因是// 1等同于math.floor而不是int或round. -2.5 // 1返回浮点-3.0而int(-2.5)返回整数-2.
有经验的程序员可能会对// 1所做的事情感到困惑,这很好地说明了为什么使用为此目的设计的现有功能之一更好 – 它们的行为方式明确,记录和一致.
标签:integer-division,python,division 来源: https://codeday.me/bug/20190728/1561571.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。