一、概述
Python中的取余运算符是%。这个运算符返回了第一个操作数除以第二个操作数所得的余数。
a = 10
b = 3
c = a % b
print(c) # 输出1
二、整数的取余运算
1.正数的取余
若一个整数为正数,那么取余结果的符号和被除数相同,除数对结果取绝对值得到余数。例如:
a = 10
b = 3
c = a % b
print(c) # 输出1
上面代码中,a为正数,b为正数,c的符号与a相同,为正号,同时c的绝对值为|a| mod |b|,即1。
2.负数的取余
若一个整数为负数,那么取余结果的符号和被除数相反,除数对结果取绝对值得到余数。例如:
a = -10
b = 3
c = a % b
print(c) # 输出2
上面代码中,a为负数,b为正数,c的符号与a相反,为负号,同时c的绝对值为|a| mod |b|,即2。
3.整数取余运算的应用
整数取余运算经常适用于根据一个循环周期进行一些操作。例如:
for i in range(0, 10):
if i % 3 == 0:
print('hello')
else:
print(i)
上面代码中,如果i能够被3整除,那么就输出'hello',否则输出i。
三、浮点数的取余运算
1.浮点数的取余
浮点数的取余运算可使用math库的fmod()函数,该函数返回第一个操作数除以第二个操作数所得的余数,其结果与第一个操作数相同。使用方法如下:
import math
a = 10.5
b = 3.2
c = math.fmod(a, b)
print(c) # 输出0.09999999999999964
2.浮点数取余运算的应用
浮点数取余运算经常适用于像计算等幅角或圆周率等问题时。例如,判断两个浮点数是否相等:
a = 1.1 + 2.2
b = 3.3
c = abs(a - b) < 1e-10
print(c) # 输出True
上面代码中,a等于3.3000000000000003,因为浮点数在计算机中不能精确表示,所以需要进行误差判断。
四、复数的取余运算
1.复数的取余
复数的取余运算无定义。
2.复数取余运算的应用
无应用。