import random
import matplotlib.pyplot as plt
import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ['KaiTi']
mpl.rcParams['font.serif'] = ['KaiTi']
num =10
p =[100]* num # person
print(p)
ax =plt.subplot(1,1,1)
for d in range(5000):
for i in range(num):
p[i] -= 5
for i in range(num):
p[random.randint(0,num-1)] += 5
# p.sort()
ax.cla()
ax.bar(range(num),p)
plt.title('第%d次分钱'%d)
plt.pause(0.01)
print(p)
import random
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
p = {} # 实验人员
all = {} # 最终人员
for i in range(10): # 首先每人100块钱
p[i] = [100]
ax = plt.subplot(1, 1, 1) # 第几张图
num = 10000 # 分钱次数
coin = 50 # 钱币
for d in range(num): # 循环分配
for i in p.keys():
p[i].append(p[i][-1] - coin)
person = list(p.keys())
for i in range(len(person)):
p[random.choice(person)][-1] += coin
for i in person:
if p[i][-1] == 0:
all[i] = p[i]
del p[i]
person = list(p.keys())
for i in person:
all[i] = p[i]
ax.cla()
plt.title("第%d次分配"%d)
plt.xlabel("分配次数")
plt.ylabel("个人财产")
for i in range(10):
plt.plot(range(len(all[i])), all[i])
plt.pause(0.0001)
来源:CSDN
作者:少儿编程侯老师
链接:https://blog.csdn.net/houlaos/article/details/103588407