为什么Python中if判断条件成立时仍无报错执行else分支?
问题原因及修复方案
- 第一个问题是缩进错误
Python依靠缩进识别代码块的归属,你提供的代码中if分支下的print("Lets start")没有正确缩进,导致if判断实际没有绑定任何执行逻辑,不管输入是否符合prompt1 == "y"的条件,后续的else分支、外层其他位置的input()语句都会被顺序执行,这就是输入正确也会触发重复输入的核心原因。 - 第二个问题是缺少循环逻辑
仅靠单次if-else判断无法实现「输入不合法就重新获取输入」的需求,必须用循环结构包裹输入、判断的完整流程,才能在输入不合法时自动回到重新输入的步骤。
修复后代码示例
while True: prompt1 = input("请输入选择(输入y开始游戏):") if prompt1 == "y": print("Lets start") break print("输入不合法!")
内容的提问来源于stack exchange,提问作者Hayden Taylor
相关产品推荐
相关产品推荐

