ドアの選択肢を変更した人が10,000回の反復で勝つ(車に乗る)可能性が高い回数を数えようとしています。私の範囲やカウンターのフォーマットが間違っているかどうか(あるいはその両方)はわかりません。私がカウンターを印刷しようとするまで、コードは機能していたように見えました。その結果、1のリストが作成されました。beginner python:monty hall&counter出力
for i in range (10000):
doors = ["goat"] + ["goat"] + ["car"]
rn.shuffle(doors)
persons_choice = rn.randint(0,2)
persons_choice1 = str(doors[persons_choice])
if persons_choice1 == "goat":
monty_choice = "goat"
elif persons_choice1 == "car":
monty_choice = "goat"
if persons_choice1 == "car":
doornumber3 = "goat"
elif persons_choice1 == "goat":
doornumber3 = "car"
final_options = [persons_choice1] + [doornumber3]
rn.shuffle(final_options)
final_choice = rn.randint(0,1)
thefinal_choice = str(final_options[final_choice])
counter = 0
if thefinal_choice == "car":
if str(persons_choice1) != str(thefinal_choice):
counter += 1
print counter
いくつかのことは意味をなさない。たとえば、persons_choice1は山羊または車のみになり、いずれにせよ、monty_choiceを山羊に設定します。 –
各繰り返しでカウンタを0にリセットします。ループの前に1回だけ行います。 –