Python循环中多计数器失效问题:猜词游戏计数不累加
问题分析
你的代码里,rightGuess和wrongGuess是在for循环内部声明的,每次循环都会被重置为0,所以每次猜对或猜错的计数无法累计,循环结束后这两个变量始终只会是0或1,达不到统计总次数的目的。
修正后的代码
import random wordBank=["throw"] word=random.choice(wordBank) letters=list(word) print("Welcome to Hangman!") print() # 把计数器移到循环外面,避免每次循环重置 rightGuess=0 wrongGuess=0 for i in range(5): print(wrongGuess,"/ 10 Wrong Guesses Used") answer=input("Choose a letter: ") if answer in letters: print("There's a",answer,"!") rightGuess+=1 else: print("There's no",answer,"!") wrongGuess+=1 # 循环结束后打印总统计结果 print("\n游戏结束!") print(f"猜对次数:{rightGuess},猜错次数:{wrongGuess}")
关键修改说明
- 将
rightGuess=0和wrongGuess=0移到for循环外部,确保它们的初始值只设置一次,每次循环时在原有数值上累加。 - 新增游戏结束后的统计结果打印,方便查看最终的猜对猜错次数。
内容的提问来源于stack exchange,提问作者Archaniac
相关产品推荐
相关产品推荐

