首页 > 解决方案 > python while - 意外结果

问题描述

if __name__ == '__main__':

    val='n'
    while val != 'y' or val != 'Y':
        val = input("are we done ? [Y/n]: ")

    exit()

并且很困惑,因为结果是

are we done ? [Y/n]: y  
are we done ? [Y/n]: y  
are we done ? [Y/n]: Y  
are we done ? [Y/n]: Y  
are we done ? [Y/n]: yes  
are we done ? [Y/n]:  

我虽然也许相关的问题会有所帮助,但仍然对此不满意。有人知道为什么我的第一次试验失败了吗?

标签: pythonwhile-loop

解决方案


这是你的条件while val != 'y' or val != 'Y'。这将永远是真的,即使valy因为那么它不是Y

尝试

while val != 'y' and val != 'Y':

仅当它既不是,y也不是 时,这才是正确的Y


推荐阅读