驗證生日悖論的python實現

2021-09-24 01:40:02 字數 513 閱讀 9862

import random,time

n=eval(input("請問你想實驗幾次呀:"))

count=0

start=time.perf_counter()

for i in range(n):

# 列表推導式:隨機抽取從(1,366)抽取23次,組成列表

bds = [random.randint(1,366) for x in range(23)]

# 利用集合的無重複性來判斷是否有人生日一致

if len(bds) != len(set(bds)):

count += 1

end=time.perf_counter()

timecost=round(end-start,2)

print("試驗{}次後得到的概率是{}耗時是{}秒".format(n, round(count/n, 2),timecost))

本**能根據輸入過的任意實驗次數,獲得的概率,可以看出穩定在0.5附近

python中生日悖論分析 從生日悖論談雜湊碰撞

1 前言 前幾天和乙個大佬交流了幾個問題,其中乙個關於id生成的問題推展到了雜湊衝突和乙個與之相關的乙個數學趣題生日悖論。雜湊的對映壓縮和衝突 生日悖論 crc32的衝突分析 2.雜湊對映壓縮和衝突 雜湊的本質就是數學,簡單來說雜湊函式實現了各種長度和形式的輸入經過公開的雜湊函式的運算生成乙個固定長...

python 生日悖論概率計算。

生日悖論指如果乙個房間裡有23 或以上人,那麼至少有兩個人生日相同的 概率大於50 編寫程式,輸出在不同隨機樣本數量下,23 個人中至少兩個人生日相同的概率。from random import randint def list birth list birth for i in range 23 ...

python 生日悖論概率計算。

生日悖論指如果乙個房間裡有23 或以上人,那麼至少有兩個人生日相同的 概率大於50 編寫程式,輸出在不同隨機樣本數量下,23 個人中至少兩個人生日相同的概率。from random import randint def list birth list birth for i in range 23 ...