为什么floor除法返回float而不是int


a = 6
b = 2
c = 9
print(c/b//b)

有人能说出为什么这个结果是2.0而不是2吗?9/2=4.54.5//2应为2 bcos底数除法,四舍五入到最接近的整数值。但为什么结果是2.0?

楼层划分给出四舍五入值。但它不一定给出一个整数。因此,它取决于操作数的类型,由于4.5是浮点值,因此答案必须是浮点值。这就是4//2=2和4.5//2=2.0 的原因