如何修复Python while循环中的‘continue not properly in loop’错误?
问题分析与修复
你的代码报错核心原因是缩进错误:while True循环仅包含了输入语句,后续的范围判断、输赢逻辑都在循环体外,导致continue不在循环范围内,同时else找不到对应的同级if,触发语法错误。
修复后的代码
import random number = random.randint(5,10) name1 = input("What is your name? ") while True: guess2 = int(input("Pick a number between 5 and 10\n")) if guess2 <5 or guess2 >10: print("this isn't a number between 5 and 10 please try again.") continue print("\nYour guess was", guess2) print("the computer guessed", number) if guess2 != number: print(f"{name1} you have lost try again") else: print(f"{name1} you have Won the game try again if you want to") print("\nNAME:",name1,"\nUSER GUESS:",guess2,"\nCOMPUTER CHOICE:",number,"\nGAME OVER") break # 退出循环,避免无限重复
关键修改说明
- 将范围判断、输赢逻辑、结果输出全部缩进,纳入
while True循环块内,确保continue属于循环的一部分。 - 添加
break语句,在完成一次游戏判断后退出循环(如果需要支持多轮游戏,可以改为让用户输入是否继续,替换break逻辑)。 - 可选优化:使用f-string简化字符串拼接,提升代码可读性。
内容的提问来源于stack exchange,提问作者viktor
相关产品推荐
相关产品推荐

