Python3代码无论输入内容为何始终执行else分支,如何解决?
问题原因
你犯了个低级错误:把Python内置的input()函数当成存储输入内容的变量来用了。你明明已经把用户输入的内容存在check变量里,但判断时却拿input(函数对象)和字符串"x"/"y"比较——函数对象和字符串永远不可能相等,所以每次都会进入else分支。
修正后的代码
check = input("check for x or y. ") # 原代码里的while True完全没必要,因为每个分支都会直接break,去掉后逻辑完全一致 print("input was", check) if check == "x": print("Following x") elif check == "y": print("Following y") else: print("Following else") print("end")
内容的提问来源于stack exchange,提问作者sackman
相关产品推荐
相关产品推荐

