猜谜游戏是数字帮助蟒蛇



我创建了一个猜谜游戏,只允许用户输入4个数字。我的错误是"'int'对象没有属性'isdigit'"。我正在尝试使用户键入字母时显示一条错误消息,例如"仅键入数字",并让用户再次猜测。有人可以给我建议吗?

谢谢!

对不起我的英语(不是我的第一语言(

import random
n = random.randint(0, 9999)
guesses = 0
print()
while True: 
guess = (input("Enter number from 0 to 9999"))
guess = int(guess)
if not guess.isdigit():
print("Only numbers are allowed")
else:
guess = int(guess)
guesses = guesses + 1
if len(str(guess)) != 4:
print (guesses, guess, "Invalid! 4 characters only")
print()
elif guess < n:
print (guesses, guess, "too low")
print()
elif guess > n:
print (guesses, guess, "too high")
print()
elif guess == n:
break
print (guesses ,guess, "You guessed it!")

isdigit只能为字符串调用,而不能为int

您必须检查给定的字符串是否可以通过调用isdigit转换为int,然后转换为int

if not guess.isdigit():
print("Only numbers are allowed")
guess = int(guess)

Python 鼓励使用 EAFP,所以你可以编写以下代码:

guess = input("Enter number from 0 to 9999")
try:
guess = int(guess)
except ValueError:
print("Only numbers are allowed")
continue

当从输入字符串到整数的转换失败时,内置转换器将引发ValueError。当您发现一个这样的错误时,您知道它不是一个有效的整数,并可以采取相应的操作。

最新更新