首页 > 解决方案 > 在python中有5次机会的猜谜游戏

问题描述

这是我的代码:

import random

letters = ['a','g','s','s','c','v','e','g','d','g']

random_letter = random.choice(letters)

guesses_left = 5
while guesses_left > 0:
  guess = input("Your guess: ")
  if guess == random_letter:
    print ("You win!")
    break
  guesses_left -= 1 
else:
  print ("You lose.")

我的问题:为什么我可以输入字符串以外的其他类型?例如,如果我运行代码并使用整数回答,则不会出错。如果这个问题无法解决,有没有更好的方法来创建这种类型的游戏?

标签: pythonpython-3.xlistif-statementwhile-loop

解决方案


.isalpha检查字符串是否为所有字符

import random

letters = ['a','g','s','s','c','v','e','g','d','g']

random_letter = random.choice(letters)

guesses_left = 5
while guesses_left > 0:
    guess = input("Your guess: ")
    if guess.isalpha():
        if guess == random_letter:
            print ("You win!")
            break
        else:
            print ("You lose.")
        guesses_left -= 1
    else:
        print('This is not a letter')

推荐阅读