【发布时间】:2019-03-12 18:21:25
【问题描述】:
我一直在尝试通过限制猜测输入来改进我在 Python 中的猜谜游戏 在 2 个数字(1 和 100)之间并询问猜测输入是否为数字。我一直在尝试同时做到这一点。无论如何我可以通过最少的编码来做到这一点吗?
【问题讨论】:
-
任何编码都有整数个字符,所以在数学上:是的,必须有一个最小的代码。
标签: python exception error-handling limiting
我一直在尝试通过限制猜测输入来改进我在 Python 中的猜谜游戏 在 2 个数字(1 和 100)之间并询问猜测输入是否为数字。我一直在尝试同时做到这一点。无论如何我可以通过最少的编码来做到这一点吗?
【问题讨论】:
标签: python exception error-handling limiting
您可以使用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 答案的一个小改进,因此程序不会在字符串输入时崩溃
【讨论】:
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: