“房间里有100个人,每人都有100元钱,每轮每人要拿一元钱随机给另一个人”最后分布的python结果

通过Python模拟了一个实验,其中100个人每轮随机转移1元钱,结果显示最终的金钱分布并不均匀,与直觉相悖。虽然每个人的期望收益为100元,但由于随机性的存在,实际上形成了一个有方差的分布,导致了看似反直觉的结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下午看到了这个问题,一开始直觉当然是觉得每个人的期望都是一样的,大家都是公平的,最后肯定是差不多。

这就是直觉,而在统计学和随机过程的世界里,直觉往往是错误的。

我们用python仿真一下这个过程。

# coding:utf-8
# 房间里有100个人,每人都有100元钱,他们在玩一个游戏。
# 每轮游戏中,每个人都要拿出一元钱随机给另一个人,最后这100个人的财富分布是怎样的?
import matplotlib.pyplot as plt
import pandas as pd
import random
person = 100
id_list = range(person)
id_money_dict = {k: person for k in id_list}
round_number = 17000
for round in range(round_number):
    for id in id_money_dict.keys():
        id_money_dict[id] += -1
        id_get = random.randint(0, person-1)
        while id_get == id:
            id_get = random.randint(0, person - 1)
        id_money_dict[id_get] += 1
se = pd.Series(id_money_dict)
se.plot.bar()
plt.show()
plt.close()
plt.show()
plt.close()
se.plot.hist(bins=100)
plt.show()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

钱塘小甲子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值