限制两个数字之间的输入并同时检查输入是否为数字

Limiting an input between Two Numbers and checking if the input is a number or not at the same time

我一直在尝试通过限制猜测输入来改进 Python 中的猜谜游戏 在 2 个数字(1 和 100)之间并询问猜测输入是否为数字。我一直在尝试同时做这件事。无论如何,我可以通过最少的编码来做到这一点吗?

您可以使用 while 循环来不断询问用户输入是否有效,直到用户输入一个:

while True:
    try:
        number = int(input("Enter a number between 1 and 100: "))
        if 1 <= number <= 100:
            break
        raise ValueError()
    except ValueError:
        print("Input must be an integer between 1 and 100.")
while True:
  try:
    number = raw_input("Enter a number between 1 and 100: ")
    if number.isdigit():
       number=int(number)
    else:   
       raise ValueError()
    if 1 <= number <= 100:
        break
    raise ValueError()
  except ValueError:
    print("Input must be an integer between 1 and 100.")

这是对@blhsing 的答案的一个小改进,因此程序不会在输入字符串时崩溃