Python "%"取余操作 包含负数情况

Python013

Python "%"取余操作 包含负数情况,第1张

python中取余%

python中的整除 // 中的坑

PYTHON中三种取整函数(// int round)的区别

当Python的取余操作涉及负数时,会产生很神奇的现象:

经过百度找到[1],得到取余操作为:

但是这并不能解释为什么会有两种绝对值,于是又去搜了一下整除操作

在经过百度找到[2]与[3],得知Python中的几种取整操作:

对于负数表现为下:

% 之前的数称为 被取余数 ,之后的数称为 取余数 ,只考虑 除不尽 时,则有:

性质一:

性质二:

分别考虑 a n 同号或异号时,均有:

故:

沿用性质二,设

且有

则有

(除不尽情况下)

有了以上结论,我们就可以口算得到结果:

有了以上的值,再根据 的符号确定正负

a=float(input("a="))

if a<0:

print(f"{a}是负数")

else:

print(f"{a}是非负数")

没有输出i,增加个print(i),就能看到负数效果了。但并不能改变li列表里面的值。

for i in li:

i = -int(i)

print(i)