首页 > 解决方案 > 如果用户输入0,则填写一个继续从用户那里读取整数的缺失语句

问题描述

num = int(input("Enter a numerator: "))

divisor = 0

while divisor == 0:

    # MISSING STATEMENT

result = num / divisor

print("The result =", result)

我有点困惑,因为我意识到代码中缺少一条语句,但它说 divisor=0 这是没有意义的,因为你会得到一个错误语句,因为你不能除以 0。问题要求填写缺失的陈述,但即使我这样做,我也不知道如何处理除数 = 0,因为问题并没有要求改变它。

标签: python

解决方案


您必须要求用户正确divisor

num = int(input("Enter a numerator: "))

divisor = 0

while divisor == 0:
    divisor = int(input("Enter a divisor: "))

result = num / divisor

print("The result =", result)

在这种情况下divisor = 0,默认值是在开始时设置的,因此while可以开始工作。

运行循环是一种流行的方法 - 首先设置错误的值(zero, None, False, empty string, 等)然后下一个运行循环,直到获得正确的值。

其他方法是while True用于此 - 然后您不需要在开始时使用默认值

num = int(input("Enter a numerator: "))

while True:
    divisor = int(input("Enter a divisor: "))
    if divisor != 0:
        break

result = num / divisor

print("The result =", result)

推荐阅读