【问题标题】:why am I getting a ZeroDivisionError: integer division or modulo by zero?为什么我会收到 ZeroDivisionError:整数除法或模除以零?
【发布时间】:2020-04-18 10:52:53
【问题描述】:

我正在创建一个简单的函数,它接受用户输入并将其用作数字到 100 的除数。为什么我会收到 ZeroDivisionError: integer division or modulo by zero?

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)

【问题讨论】:

  • 你的i从0开始,所以在第一次迭代的时候,它把num除以0,这个没有定义。

标签: python


【解决方案1】:

应该是这样的

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)

【讨论】:

    【解决方案2】:

    问题是

    num % 0 
    

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

    for i in range(1,100):
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多