Python猜词游戏异常:超出设定3次猜测次数问题排查
猜词游戏猜测次数超标问题修复
问题根源
- 初始输入未计入次数:程序在进入while循环前就获取了第一次猜测,但这次猜测没有被统计到
guess_count里,导致后续循环还能允许3次猜测,总共变成4次。 - 循环内判断逻辑顺序错误:当前逻辑是先判断
guess_count < guess_limit再增加计数,当第3次错误猜测完成后,guess_count才会变成3,此时下一次循环才会触发失败提示,等于多给了一次机会。
修复方案
把初始输入移到循环内部,确保每次猜测都被正确计数;同时调整判断顺序,先检查猜测是否正确,再处理剩余次数逻辑。
修改后的代码
secret_word = "loading" guess_count = 0 guess_limit = 3 end = False def end_msg(msg): print(msg) retry = input("Do you want to play again? ") if retry == "yes": global end, guess_count end = False guess_count = 0 print("Welcome to the guessing game\nYou have 3 guesses") else: end = True print("Welcome to the guessing game\nYou have 3 guesses") while not end: guess_word = input("Enter a word: ") if guess_word == secret_word: end_msg("Correct, you win") else: guess_count += 1 if guess_count >= guess_limit: end_msg("You have no more guesses, you lose!") else: print("Incorrect!") print(f"You have {guess_limit - guess_count} left!")
说明
- 每次循环开始时获取用户输入,确保所有猜测都被纳入计数
- 先判断猜测是否正确,正确则直接触发胜利逻辑
- 错误时先增加计数,再检查是否达到次数上限,达到则触发失败提示,否则告知剩余次数
内容的提问来源于stack exchange,提问作者ajayi michael
相关产品推荐
相关产品推荐

