モンティー・ホールをコードで証明しているように見えましたが、悲しいことに問題の証拠ではありませんでした。私が切り替えるかどうかにかかわらず、私は10000回のシミュレーションに勝つ確率は33%です。コードをチェックして、何が間違っているのを見ることができますか?私はWeb開発者であり、Pythonのスキルはあまり良くなく、コードは幻想的ではないかもしれないことを覚えておいてください(例えば、変数がうまく働いたremovable_doorsリストを作成しました)。乾杯!モンティ・ホール・シミュレータが間違った結果を出した
import random
av_doors = [1, 2, 3]
door_v = [1, 2, 3]
removable_doors = [1, 2, 3]
score = 0
loses = 0
door = int(input("Choose your door (1-3)"))
pick = int(door)-1
dec = input("Stay or switch? (0/1)")
n = 0
while n < 10000:
removable_doors = [1, 2, 3]
av_doors = [1, 2, 3]
val = random.randint(1,3)
if val == 1:
door_v[0] = 1
door_v[1] = 0
door_v[2] = 0
removable_doors.remove(1)
elif val == 2:
door_v[0] = 0
door_v[1] = 1
door_v[2] = 0
removable_doors.remove(2)
elif val == 3:
door_v[0] = 0
door_v[1] = 0
door_v[2] = 1
removable_doors.remove(3)
try:
removable_doors.remove(int(door))
except:
pass
av_doors.remove(door)
if len(removable_doors) == 2:
rand_door = random.randint(0,1)
if rand_door == 0:
del av_doors[0]
elif rand_door ==1:
del av_doors[1]
else:
del av_doors[0]
if dec == "1":
door = av_doors[0]
else:
pass
pick = door-1
if door_v[pick] == 1:
score+=1
else:
loses+=1
n+=1
print(score)
print(loses)
あなたは '試す/ except'を持っていないのはなぜ?なぜドアは 'removable_doors'にないのですか? –
「av_doors」とは何を表していますか? – user2357112
あなたは実際にどこでも 'removable_doors'の内容を使用していません。 – user2357112