为了账号安全,请及时绑定邮箱和手机立即绑定

猜游戏isdigit帮助python

猜游戏isdigit帮助python

侃侃无极 2021-03-30 13:12:30
我创建了一个猜谜游戏,只允许用户键入4个数字。我的错误是“'int'对象没有属性'isdigit'”。我正在尝试这样做,以便当用户键入字母时显示错误消息,例如“仅键入数字”,并让用户再次猜测。有人可以给我建议吗?谢谢!对不起,我的英语(不是我的母语)import randomn = random.randint(0, 9999)guesses = 0print()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:      breakprint (guesses ,guess, "You guessed it!")
查看完整描述

2 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

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


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


if not guess.isdigit():

    print("Only numbers are allowed")


guess = int(guess)


查看完整回答
反对 回复 2021-04-20
?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

Python鼓励使用EAFP,因此您可以编写以下代码:


guess = input("Enter number from 0 to 9999")


try:

    guess = int(guess)

except ValueError:

    print("Only numbers are allowed")

    continue

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


查看完整回答
反对 回复 2021-04-20
  • 2 回答
  • 0 关注
  • 181 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号