Python问答脚本问题修复:错误答案仍输出Correct及大小写不敏感实现
问题分析与修复方案
问题原因拆解
始终输出"Correct"的问题
原代码的条件判断if q1 == answer1 or answer1.lower():存在逻辑错误:answer1.lower()会生成一个非空字符串,在布尔语境下会被判定为True,因此无论用户输入的内容是否正确,整个条件都会成立,导致控制台永远输出"Correct"。大小写不敏感匹配未实现
原代码直接用==做精确匹配,没有处理大小写差异,用户输入比如"george washington"会被判定为错误。
修复后的代码
q1 = input("Who's on the one dollar bill?") answer1 = "George Washington" # 统一转为小写后比较,实现大小写不敏感匹配 if q1.lower() == answer1.lower(): print("Correct!") else: print("Incorrect.")
修正说明
- 修正了条件判断逻辑:移除了错误的
or answer1.lower()分支,改为将用户输入和标准答案都转换为小写后再做相等判断,确保大小写不敏感。 - 修正了原问题中的拼写错误:将"Whos"改为"Who's",使问题表述更准确。
内容的提问来源于stack exchange,提问作者yealet
相关产品推荐
相关产品推荐

