2016-06-15 4 views
0

mまたはfでない場合は、またはになるまでプロンプトを繰り返します。私はmまたはfとタイプしましたが、ループは繰り返しています。どうして?"m"または "f"を入力してもジェンダー入力ループが繰り返される

gender = input('m/f? ') 

while gender != 'm' or gender != 'f': 
    print("Type 'm' or 'f'") 
    gender = input('m/f? ') 
if gender == 'm': 
    gender = 'him' 
elif gender == 'f': 
    gender = 'her' 

print("It read {}".format(gender)) 

答えて

3

gendermとなります。この声明を見てください:

while gender != 'm' or gender != 'f': 

gender!='m'ですか? No. Or ... gender!='f'はありますか?はい!よろしくお願いします。while ing!

あなたは、あなたが望むorをしたくないandこのため、ラインの

0

while gender != 'm' or gender != 'f':

利用代わり: while gender != 'm' and gender != 'f':

gender同時に 'M' と 'F'

を含めることはできません
0

基本基本

真またはTrue:真

TrueまたはFalse:真

falseまたはtrue:真

虚偽またはFalse:Falseの

あなたは入力を求め続けなければなりません両方の条件が満たされない限り、

または、 'と'で置き換える必要があります。

0

試してみてください。

gender = raw_input('m/f?') 

while True: 
    print("Type 'm' or 'f'") 
    gender = raw_input('m/f? ') 
    if gender=='m' or gender=='f': 
     break 

if gender == 'm': 
    gender = 'him' 
elif gender == 'f': 
    gender = 'her' 

印刷(。フォーマット(男女)「それは} {読む」)

0

回答数がすでにありますが、私もなくなり、ほとんどのPython的な方法を、考えてAND/OR混乱があり、かつ容易に拡張され、追加したい場合は、たとえば、other

ため o
while gender not in 'mf': 

genderがリストに存在しない間、すなわち性別の

0

文字列の性別が「m」または「f」と等しくないかどうかを確認しています。これは常に両方になることができないためです。

変更するか、これを修正してください。

関連する問題