harry -学习数据分析资金分配

柔情痞子 提交于 2020-01-29 05:48:25
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)







标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!