色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

python 蒙提霍爾

錢浩然2年前9瀏覽0評論

Python中的蒙提霍爾(Monty Hall)問題是一個有趣的概率問題。在這個問題中,被告知有三扇門,其中一扇門后面有一輛汽車,另外兩扇門后面是山羊。你選擇一扇門,主持人打開一扇后面是山羊的門,詢問你是否要更換你的選擇。問題在于,如果你更換選擇,你中獎的概率會增加。讓我們用Python來模擬一下。

import random
#初始化游戲
def init_game():
doors = ['sheep', 'sheep', 'car']
random.shuffle(doors)
return doors
#改變選擇
def change_choice(doors, choice):
for i in range(3):
if i != choice and doors[i] == 'sheep':
return i
return choice
#模擬游戲
def play_game(change):
doors = init_game()
choice = random.randint(0,2)
if not change:
return doors[choice] == 'car'
else:
new_choice = change_choice(doors, choice)
return doors[new_choice] == 'car'
#多次模擬游戲
def simulate(change, n=10000):
wins = 0
for i in range(n):
if play_game(change):
wins += 1
return wins / n
#輸出結果
print('如果不改變選擇,中獎概率為:', simulate(False))
print('如果改變選擇,中獎概率為:', simulate(True))

代碼中的init_game函數用于初始化游戲,將三扇門隨機排列。change_choice函數用于改變選擇,如果沒有更換選擇,就返回原來的選擇;否則選擇剩下的門中,后面是山羊的門中不同與原來選擇的那扇門。play_game函數用于模擬游戲,如果不改變選擇,并且選擇的門后面是車,就返回True,表示中獎;如果改變選擇并且新選擇的門后面是車,也返回True。simulate函數用于進行多次游戲模擬,并返回獲勝的概率。最后在控制臺輸出結果。