はそれです。したがって、ユーザーはチェックが行われる前に2匹の動物を入れなければなりません。
guess an animal: tiger
guess an animal: tiger
almost, try again:
guess an animal:
は、ユーザーが一度だけ推測する必要がループの最後に二raw_input
を移動したい場合。
animal = "lion"
userguess = raw_input("guess an animal: ")
while userguess != animal:
if userguess == animal:
print("you got it")
break
elif userguess == "tiger":
print("almost, try again: ")
else:
print("try again: ")
userguess = raw_input("guess an animal: ")
あるいは、それは第二raw_input
コールを残し、ダミー値を持つ最初の呼び出しを置き換えます。
animal = "lion"
userguess = None
while userguess != animal:
userguess = raw_input("guess an animal: ")
if userguess == animal:
print("you got it")
break
elif userguess == "tiger":
print("almost, try again: ")
else:
print("try again: ")
whileループの条件付きで、初期割り当てを完全に削除することもできます。つまり、animal
が "lion"である場合、ブロックの最後に達する前に常にbreak
が存在するため、条件は決してトリガーされません。彼らは、ユーザーが自分の最初の試行で「ライオン」を推測しても印刷されます、「あなたはそれを得た」ことを確認するため
animal = "lion"
while True:
userguess = raw_input("guess an animal: ")
if userguess == animal:
print("you got it")
break
elif userguess == "tiger":
print("almost, try again: ")
else:
print("try again: ")
第二と第三の方法は、最初に好ましいかもしれません。
代わりに何をしますか? – deceze
コードは "lion"で期待通りに機能しますか? –
最初に入力を2回お願いしていますか? – Lafexlos