python中的多个匹配项

Sco*_*ott 0 python while-loop

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

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

roomNumber = input("Enter the room number: ")
while roomNumber != ("L1"):
    roomNumber = input ("Please enter a correct room number:")
Run Code Online (Sandbox Code Playgroud)

但是我希望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:")
Run Code Online (Sandbox Code Playgroud)

但这不起作用,我认为它需要所有这些匹配,而不仅仅是那个.我也尝试将每个值放在([])中,并尝试在每个值之间使用OR,但也不起作用.

我一直在寻找年龄,似乎无法在while循环中找到多个匹配的示例.

当然我错过了一些简单的东西?

小智 7

Python有一个in/ not in运算符,对于这样的事情很有用:

while roomNumber not in ("L1", "L2", "L3", "L4", "L5"):
    ...
Run Code Online (Sandbox Code Playgroud)

它几乎适用于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)
Run Code Online (Sandbox Code Playgroud)