我有一个python 3.5.2 hangman代码:
def hangman():
wrongnums =[]
print("what is the word to be guessed?")
global guessnum
guessnum=input('>')
print("how many chances?")
global chances
chances=int(input('>'))
print("game in beginning")
global blanks
blanks = '_ ' * len(guessnum)
print()
print(blanks)
guessing()
def guessing():
global chances
print("guess a letter")
guess=input('>')
for letters in guessnum:
if guess == letters:
letterIndex = guessnum.index(guess)
global newBlanks
newBlanks = blanks[:letterIndex*2] + guess + blanks[letterIndex*2+1:]
print ("Guess is correct!")
check()
elif guess != letters:
chances -=1
print ("Guess is wrong! ", chances, " more failed attempts allowed.")
guessing()
def check():
print()
print("Word: ",newBlanks)
guessing()
当我去猜单词时,例如“car”,“c”很好,它说的是正确的。但对于“a”和“r”,它表示不正确。为什么会这样?结果如下:
你不是在检查猜测的字母和单词,而是在检查单词中的每一个字母,因为for循环,所以它检查第一个字母,认为它不是wight,并且在它可以检查其他字母之前回答。试试这个:
相关问题 更多 >
编程相关推荐