生日悖論指如果一個房間里有23人或以上,那么至少有兩個人生日相同的概率大于50%。撰寫程式,輸出在10000例隨機樣本數量下,23個人中至少兩個人生日相同的概率。
import randombirth=[]month=[]day=[]x=0for j in range(1000): for i in range(23): month.append(random.randint(1,12)) #1,3,5,7,8,10,12 if month[i] in [1,3,5,7,8,10,12]: day.append(random.randint(1,31)) if month[i] in[4,6,9,11]: day.append(random.randint(1,30)) if month[i]==2: day.append(random.randint(1,29)) birth.append((month[i],day[i])) if len(set(birth))<len(birth): x=x+1print("在隨機樣本下,23個人中至少兩個人生日相同的概率是:{}".format(x/1000))
不知道問題出在哪里,一直輸出0.999或者1
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/279710.html
