如何让这段存在逻辑问题的Python代码按预期正常运行?
代码问题分析
- 现有代码存在两个核心问题:
- 缺少用户输入获取逻辑,无法匹配实际的用户反馈
if "1"和if "2"的判断条件不符合逻辑:Python 中非空字符串的布尔值恒为True,所以两个判断都会命中,两行打印内容会同时输出
修复后的运行代码
print("how are you today") # 接收用户输入并转为整数类型 user_input = int(input("请输入1(状态不错)或2(状态不好):")) good = 1 bad = 2 if user_input == good: print("thats good to hear") elif user_input == bad: print("thats not good") else: print("输入无效,请输入1或2")
修改说明
- 新增
input()方法接收用户输入,转换为整数后和预设的good、bad常量做等值判断 - 把固定的字符串判断改为动态的输入值匹配,只有对应条件命中时才会执行对应分支的打印逻辑
- 额外新增非法输入的兜底分支,覆盖非1/2输入的异常场景
内容的提问来源于stack exchange,提问作者TQuacks
相关产品推荐
相关产品推荐

