生日悖论是指,如果在一个人群中随便选两个人,那么他们的生日很可能相同。这个“悖论”听起来很玄学,但是实际上可以用数学来证明。
要验证生日悖论,我们可以编写一个 Python 程序来模拟这个过程。首先,我们需要导入必要的库:
import random
import datetime
然后,我们可以定义一个函数 has_duplicate_birthdays
,用于验证在一个人群中是否有两个人生日相同。该函数接受一个参数 n
,表示人群的大小。
在函数内部,我们可以使用 Python 的 random
模块来生成 n
个随机日期。我们可以使用 datetime
模块的 date
类来表示日期,并使用 datetime.date.today()
函数来获取当前日期。我们可以使用 random.randint
函数来生成随机的年份、月份和日期。
接下来,我们可以使用 Python 的内置函数 set
来检查是否存在相同的生日。如果存在,则返回 True
;否则,返回 False
。
综上所述,可以得到如下代码:
``` def has_duplicate_birthdays(n: int) -> bool: birthdays = [] for i in range(n): year = random.randint(1900, datetime.date.today().year) month = random.randint(1, 12) day = random.randint(1, 28) birthday = datetime.date(year, month, day)