Python else语句异常触发:输入yes/no时else分支意外执行
问题原因
你编写的代码中使用了3个独立的if判断语句,Python中else只会和最近的未配对的if 绑定,你代码里的else只和第三个判断if dot == "maybe"配对:
- 当输入为
yes或no时,前两个if会匹配成功执行对应代码,但第三个if dot == "maybe"判断不成立,因此会触发绑定的else分支 - 当输入为
maybe时,第三个if判断成立,因此不会执行else分支
解决方法
将独立的if结构改为if-elif-else的连续分支结构,该结构下只要有一个分支判断成立,剩余分支就会跳过,只有所有前置判断都不成立时才会执行else分支。
修改后的代码逻辑如下:
if dot == "yes": time.sleep(0.7) print("thx. ill try my best") elif dot == "no": time.sleep(0.7) print("ok. i will reteach myself i guess") elif dot == "maybe": time.sleep(0.7) print("we will see i guess :]") else: print("RESPOND WITH WHAT I TELL U TO RESPOND WITH U IDIOT >:-( ")
内容的提问来源于stack exchange,提问作者Sami Osman
相关产品推荐
相关产品推荐

