hhzczy 发表于 2018-10-6 13:44:51

python的数学运算

print(16/2)
print(16*0.5)

这两个运行结果:
为什么都是8.0
而不是8

Python 3.7.0

claws0n 发表于 2018-10-6 13:53:16

python 3.x 是真除法

翩跹叶惊鸿 发表于 2018-10-6 15:03:24

本帖最后由 翩跹叶惊鸿 于 2018-10-6 15:14 编辑

只要是这个除号(/) 出来的都是浮点数(float)。
PS:这个除号(//)是地板除法,输出是不大于结果的整数,如果有浮点型则返回浮点型,如果都是整数则返回整数。比方 16//2 输出就是8了,16//1.9 得到的就是8.0 。

乘法的话,只要有一个是浮点数,出来的就是浮点数。都是整数,出来的就是整数。比方 2*4 出来的就是8。

hhzczy 发表于 2018-10-6 15:12:20

翩跹叶惊鸿 发表于 2018-10-6 15:03
只要是这个除号(/) 出来的都是浮点数(float)。
PS:这个除号(//)是地板除法,输出是不大于结果的整 ...

print(16*0.5)
有没有“地板乘法”?
{:5_109:}{:5_109:}{:5_109:}

翩跹叶惊鸿 发表于 2018-10-6 15:15:28

hhzczy 发表于 2018-10-6 15:12
print(16*0.5)
有没有“地板乘法”?

并没有,乘法是2个数都是整数 出来才会是整数;只要有一个是浮点数,结果就会是浮点数。
即使是8*2.0 出来的也会是16.0
页: [1]
查看完整版本: python的数学运算