Python 学习笔记(四)数字(二)
Python
Python2 中除法的问题
1 >>> 3 / 6 2 0 3 >>> 3.0 / 6 4 0.5 5 >>> 3.0 / 6.0 6 0.5 7 >>> 5 / 2 8 2 9 >>> 6.0 / 3 10 2.0 11 >>> 10.0 / 3 12 3.3333333333333335 13 >>> 0.2 +0.9 14 1.1 15 >>> 0.2 +0.1 16 0.30000000000000004
因为计算机要将我们输入得十进制转换为二进制,浮点数转换二进制的时候,就会有问题 0.1 转为二进制位0.000110011 转换后不会再精确的等于十进制的0.1了,一般我们将结果进行四舍五入保留两位,进行计算。
Python2 中是除法 取整数部分 ,因而得到3/6 =0,5/2=2
可引用 from __future__ import division 模块解决
1 >>> from __future__ import division 2 >>> 3 / 6 3 0.5 4 >>>
Python 中 余数
余数的两种方式
1、 %
2、divmod() ,得到商和余数
1 >>> 6 % 5 2 1 3 >>> 6 % 4 4 2 5 >>> divmod(6,4) 6 (1, 2) 商和余数 7 >>> divmod(6,5) 8 (1, 1)