python中的多个while匹配

python中的多个while匹配,python,while-loop,Python,While Loop,我在文本文件中搜索了5个不同的字符串。我试图让python询问用户房间号码,如果其中任何一个号码匹配,则继续,否则再次询问,直到输入正确的号码 我可以让它工作,如果尝试: roomNumber = input("Enter the room number: ") while roomNumber != ("L1"): roomNumber = input ("Please enter a correct room number:") 然而,我希望L1、L2、L3、L4和L5具有正匹配

我在文本文件中搜索了5个不同的字符串。我试图让python询问用户房间号码,如果其中任何一个号码匹配,则继续,否则再次询问,直到输入正确的号码

我可以让它工作,如果尝试:

roomNumber = input("Enter the room number: ")
while roomNumber != ("L1"):
    roomNumber = input ("Please enter a correct room number:")
然而,我希望L1、L2、L3、L4和L5具有正匹配

我试过:

roomNumber = input("Enter the room number: ")
while roomNumber != ("L1", "L2", "L3", "L4", "L5"):
    roomNumber = input ("Please enter a correct room number:")
然而,这不起作用,我认为它需要所有这些匹配,而不仅仅是一个。 我还尝试将每个值放在[]中,并尝试在每个值之间使用OR,但都不起作用

我已经搜索了很多年,似乎在一个while循环中找不到多个匹配的例子

我肯定错过了一些简单的东西吗?

Python有一个in/not in操作符,它对类似这样的事情很有用:

while roomNumber not in ("L1", "L2", "L3", "L4", "L5"):
    ...
它适用于Python中几乎所有的容器类型;以下所有情况都是正确的:

1 in [1, 2, 3]
3 in range(50)
"foo" in { "foo": "bar" }
"bar" not in { "foo": "bar" } # (it only looks at keys for dictionaries)
用于:

while not roomNumber in ("L1", "L2", "L3", "L4", "L5"):