2011-07-14 20 views
0

私は5つの異なる文字列を持っています。私はテキストファイルで検索しています。私は、Pythonに "部屋番号"を要求し、その番号のいずれかが一致する場合は続行し、そうでなければ正しい番号が入力されるまで再度質問します。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:") 

をしかし、これは動作しませんし、私はそれが1つだけでなく、それらの試合のすべてを望んでいると仮定します。 私も各値を([])に入れてみましたが、それぞれの値の間でORを使ってみましたが、どちらもうまくいきませんでした。

私は年齢を探していて、whileループで複数の一致の例を見つけることはできません。

確かに私は何か簡単なことがありませんか?

答えて

7

Pythonはこのようなもののために有用であるin/not inオペレータがあります。それは、Pythonのほぼすべてのコンテナタイプのために働く

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

を。以下のすべてが真である:

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) 
+0

+1。 – Aeveus

2

使用in:読みやすい文章の構造のため

while not roomNumber in ("L1", "L2", "L3", "L4", "L5"): 
関連する問題