Python基础选择系统开发问题:无法实现分支输出控制
问题修正方案
你的代码存在两处关键逻辑错误,导致无法实现预期效果:
- 第一个
if误将内置函数input作为判断对象,而非用户输入的变量RootChoice;同时or "Yes"的写法逻辑错误,非空字符串在布尔判断中永远为真,会让这个条件始终成立。 - 两个
if语句没有正确的缩进和分支关系,导致无论用户输入什么,两段print都会执行。
修正后的代码如下:
PChoice = input("What is your choice?: ") RootChoice = input("Are you sure?: ") # 统一转为小写判断,兼容各种大小写输入 if RootChoice.lower() == "yes": print("You Chose " + PChoice) elif RootChoice.lower() == "no": print("Please choose again") else: print("Invalid input, please enter yes or no")
关键改进点:
- 使用
lower()方法统一处理用户输入,无需重复编写多个大小写判断条件,简化逻辑同时提升容错性。 - 通过
if-elif-else构建清晰的分支结构,确保每种输入只会触发对应输出,避免重复执行代码。
内容的提问来源于stack exchange,提问作者Boxcel
相关产品推荐
相关产品推荐

