首页 > 解决方案 > 不满足条件时循环

问题描述

如果设置了 y 或 n,我想跳出循环。在我的脑海中,这是这样做的方法,但即使“str1”同时设置为 n 和 y,它似乎也会卡在 while 循环中。

我也试过做:while str1 != "y" or str1 != "n":没有运气。

str1 = ""
while not str1 == "y" or not str1 == "n": 
    str1 = input('setting [y/n] => ')
    str1 = str1.lower()

标签: python

解决方案


您的条件while str1 != "y" or str1 != "n"始终是True,如果您输入n它会有所不同,y反之亦然。

如果两个条件都没有满足,你想停止

while str1 != "y" and str1 != "n"

或者更简单

while str1 not in "yn":

推荐阅读