Python for循环提问校验输入代码始终输出wrong问题求助
Python for 循环程序问题排查
错误原因
- 条件判断逻辑完全反向:你当前的判断规则是「只要输入不等于2就报错」,输入yes时首先触发这个条件直接打印wrong;输入2时第一个条件不触发,会走第二个
elif question != 'yes'的判断,2不等于yes,还是会触发打印wrong,所以无论输入2还是yes都会提示错误。 - 缺失正确场景的判断分支:你没有写「输入匹配指定值时输出正确提示」的逻辑,所有分支都只处理错误场景。
- 冗余变量赋值:你提前将
question赋值为列表,但循环中每次都会用input返回的字符串覆盖这个值,属于无用代码。
修正代码
假设你需要的规则是「用户输入2或yes时判定为正确,其余输入判定为错误」,修正后代码如下:
MyArray = [] for i in range(3): user_input = input("what is 2+2 ") if user_input == '2' or user_input == 'yes': print("回答正确") else: print("wrong") MyArray.append(user_input) print(MyArray)
如果你的实际需求是判断2+2的正确答案,只需把判断条件里的'2'改成'4'即可。
内容的提问来源于stack exchange,提问作者stinke man
相关产品推荐
相关产品推荐

