Python入门新手编写条件判断代码无论输入任何内容都输出两行该如何解决
你的代码会同时输出两行文本是两个语法错误导致的:
- 条件判断逻辑错误:Python中判断两个值相等需要使用
==运算符,你写的if Answer : "Good"没有实现判断逻辑,冒号必须放在完整的判断条件末尾 - 代码从属关系错误:Python依靠缩进判断代码的从属关系,你写的两行打印代码没有缩进,和前面的if判断完全无关,所以不管判断结果如何都会执行。
修正后的可用代码
name = input("请输入你的名字:") print(f"嗨 {name},最近怎么样?") answer = input("状态好还是不好?请输入good或bad:") # 统一转为小写,兼容大小写输入 if answer.lower() == "good": print("太棒啦,真为你开心!") elif answer.lower() == "bad": print("太糟了,发生什么事了?") else: print("输入不符合要求,请只输入good或者bad哦")
改动说明
- 调整了if判断的语法,用
==做相等判断,lower()方法把输入转为小写,不管输入Good、GOOD还是good都能正常识别 - 给if/elif下的打印代码加了4个空格缩进,代表只有条件成立时才会执行对应的打印逻辑
- 用
elif代替第二个if减少重复判断,新增else分支处理输入不符合要求的场景 - 替换原来的字符串拼接为f-string格式化写法,更简洁不易出错
内容的提问来源于stack exchange,提问作者Creepercraft
相关产品推荐
相关产品推荐

