优秀的编程知识分享平台

网站首页 > 技术文章 正文

Python 中的模运算符:%

nanyue 2025-02-15 00:27:54 技术文章 4 ℃

Python 中的模运算使用 “%” 表示。对于正整数,其结果返回两个数字之间除法的余数。模运算符是 Python 算术运算符的一部分。

>>> 7%3
1
>>> 9%5
4
>>> 10%5
0

对于正整数模运算。

7 % 3: 7 除以 3 商 2,余 1。

9 % 3: 9 除以 5 商 1,余 4。

10 % 5: 10 除以 5 商 2,余 0。

负整数的模运算

下面我们测试负整数的模运算,运算结果可能让你难以理解。

>>> -7%3
2
>>> 7%-3
-2
>>> -7%-3
-1

1.当模运算中有负数时,模运算结果的符号与除数相同。如-7%3=27%-3=-2

2.当模运算中两个数是同号时,模运算结果是取两者的余数,符号与除数相同。如7%3=1-7%-3=-1

3.当模运算中两个数是异号时,模运算结果是先将两个整数看作是正数,再作除法运算:

  • 能整除时,其值为 0 例如:-10%2=010%-2=0
  • 不能整除时,其值=除数×(整商+1)-被除数
  • 符号与除数相同

例如:-7%3=27%-3=-2

7 除以 3 的整数商为 2,加 1 后为 3;其与除数之积为 9;再与被除数之差为(9 - 7 = 2);取除数的符号。所以值为 -2。

被除数小于除数的模

>>> 2%5
2
>>> -2%5
3
>>> 2%-5
-3
>>> -2%-5
-2

运算规则与上面相同,例如,2%-5=-3

2 除以 5 的整数商为 0,加 1 后为 1;其与除数之积为 5;再与被除数之差为(5 - 2 = 3);取除数的符号。所以值为 -3。

除数为零时的模运算

模运算除数为零时将返回ZeroDivisionError。

ZeroDivisionError: integer division or modulo by zero

「异常处理:」

try:
    3 % 0
except ZeroDivisionError:
        print("除数不能为0")

模运算的典型应用

Python 中模运算一个典型用途是判断给定数字是奇数还是偶数。

for x in range(1,11):
    if x % 2 == 0:
        print(f"{x} 是偶数")
    else:
        print(f"{x} 是奇数")

?

文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!

?

最近发表
标签列表