Python 为什么会出现零除法错误:整数除法或模乘零?

Python 为什么会出现零除法错误:整数除法或模乘零?,python,Python,我正在创建一个简单的函数,它接受用户输入,并将其用作数字到100的除数。为什么会出现零除法错误:整数除法或模乘零 def divisor(): num = int(input('Please input a number. It will be used as a divisor. ')) for i in range(0,100): if num%i == 0: print(i) 应该是 def divisor(): num =

我正在创建一个简单的函数,它接受用户输入,并将其用作数字到100的除数。为什么会出现零除法错误:整数除法或模乘零

def divisor():
    num = int(input('Please input a number. It will be used as a divisor. '))
    for i in range(0,100):
        if num%i == 0:
            print(i)
应该是

def divisor():
    num = int(input('Please input a number. It will be used as a divisor. '))
    for i in range(1,100):
        if num%i == 0:
            print(i)
问题是

num % 0 
产生零除法错误:整数除法或按零模运算。它在错误声明中。for循环中的值
i
从0开始,这是导致错误的原因。for循环应为:

for i in range(1,100):

您的
i
从0开始,因此在第一次迭代期间,它将
num
除以0,这是未定义的。