在python-2中
>>2/5 0 >>2.0/5 0.4 >>2/5.0 0.4 >>2.0/5.0 0.4 #整数除以整数,结果为整数(商)
>>5/2 2 >>7/2 3
浮点数与整数相除:
假设x除以y,x可能是整数,也可能是浮点数;y可能是整数,也可能是浮点数。
不管是除数还是被除数,只要是一个数是浮点数,结果就是浮点数。
>>10.0/3 3.3333333333335 >>0.1+0.2 0.3000000000004 >>0.1+0.1-0.2 0.0 >>0.1+0.1+0.1-0.3 5.551115123125783e-17
出现上述问题的原因是:电脑用的是二进制,我们输入的是十进制,转化的时候出现错误
解决方法是启用模块(类、类库)
启用方法:1.import+空格+模块名
2.from+空格+大模块+空格+import+空格+子模块
余数
在python中用%符号取得两数相除的余数
>>>5%2 1 >>>6%4 2 >>>5.0%2 1.0
四舍五入
用内建函数-round()
>>>round(1.2345,2) 1.23 >>>round(10.0/3,4) 3.3333 >>>round(1.2345,3) 1.234 #应该是1.235 >>>round(2.235,2) 2.23 #应该是2.24
问题仍然是十进制转二进制引起的。