【问题标题】:Limiting an input between Two Numbers and checking if the input is a number or not at the same time限制两个数字之间的输入并同时检查输入是否为数字
【发布时间】:2019-03-12 18:21:25
【问题描述】:

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

【问题讨论】:

  • 任何编码都有整数个字符,所以在数学上:是的,必须有一个最小的代码。

标签: python exception error-handling limiting


【解决方案1】:

您可以使用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.")

【讨论】:

    【解决方案2】:
    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 答案的一个小改进,因此程序不会在字符串输入时崩溃

    【讨论】:

    • int(input()) 不会使程序崩溃。跑了上面的程序::Enter a number between 1 and 100: kjghfsgf Input must be an integer between 1 and 100. Enter a number between 1 and 100:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-13
    • 2013-07-25
    • 1970-01-01
    • 2023-03-27
    • 2010-11-22
    • 1970-01-01
    相关资源
    最近更新 更多