2017-06-20 5 views
0

私はPythonでフィットネスプログラムをやっているので、ユーザーに関する情報を収集する必要があります。 性別を収集する場合を除いて、残りのコードは正常に機能します。Python Loop - 正解が入力されるまで尋ね続ける

答えM、F、m、またはfが入力されていない場合は、コードで質問を繰り返してください。しかし、このコードを実行すると、M、F、m、またはfを入力しても「女性の場合はMを入力してください」と表示されます。

gender = input("What is your gender? M/F: ") 
while gender != "M" or "F" or "m" or "f": 
    print("Please enter M for Male or F for Female.") 
    gender = input("What is your gender? M/F: ") 

ノー成功を収めてis not!=を交換しようとしています。あなたはそれが文字列の値を持っているので、それは常にtrueになりますようor "m"は、「m」はTrueでチェックインしたとき

while gender not in ("M","F","m","f"): 

+0

を '性別= "M" または "F" または "M" または "F"' *必ず* 'true'にあるので! –

答えて

2

これは正しいアプローチです。

また、行うことができます:

while gender != "M" or gender != "F" or gender != "m" or gender != "f": 
関連する問題