有一个问题不知道有没有缠绕你很久,就是“为什么我们这么穷?”

今天就用Python深入分析一下这个问题。

首先我们从一个游戏来入手:

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:1097524789

房间内有100个人,每个人有100元,每过1分钟每个人都要随机给一个人1块钱(可以是别人也可以是自己,保持随机性),过一段时间后房间内资金分配会怎么样?

从直觉来看,这道题只有两种答案,一种是玩家的财产都差不多,另一种玩家的财产差异越来越大。

分析之前不妨先投票做个调查,你支持哪种结果?

no bb show your gif

设置一个列表有100个元素代替100个玩家的财产,初始数据皆为100,每次分钱对每个元素都减去1,并循环100次给1个随机元素增加1。

结果的动图如上,我们看到分了250次钱,结果好像是财富差距越来越大???

完整代码在这,你看看有没有错:

# 每人100元,然后每人进行分钱
import random
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
p = [100] * 100  # 设置个列表,每人有多少钱
ax = plt.subplot(1, 1, 1)
coin = 1
for d in range(1,1001):  # 设置分钱次数
    color = []
    for i in range(100):  # 每次分钱每人先扣一块钱
        p[i] -= coin
    for i in range(100):  # 再将这100块钱随机分配到其他人身上
        p[random.randint(0, 99)] += coin
    for i in p:
        if i <= 0:
            color.append("red")
        else:
            color.append("blue")
    ax.cla()  # 清楚画面
    ax.bar(range(100), p , width=0.9, color = color,alpha=0.5)  # 画柱状图
    plt.title("第%d次分钱" % d)  # 设置标题
    plt.ylabel("身价")
    plt.pause(0.01)  # 设置暂停
plt.show()

在资源总和固定和分配概率固定的情况下,如果刚开始第一个人获得1块钱,第二个人失去1块钱,他们的差距是两块钱。

第二个人财产想超过第一个人的概率呈指数递减,并且当分配的次数越多,二者的差距越大,反超概率越低。

横向图来看

或者我们用折线图来展示,为了快速看出结果,修改分配的金钱基数为10块钱(即每次减去10块钱和每次随机获得10块钱)。

我们可以从动图看到确实一开始有钱的越有钱,穷的越来越穷,虽然中间有所波折,但是也像极了我们的人生,大起大落落落落落落....

下图是第539次分配(分配金钱基数为1块钱),可以看到黄色和蓝色玩家从一开始的落后始终也没能翻身,紫色玩家即使大幅度家道中落也处在玩家的中间位置。

破产能不能逆袭?

这里提高资金分配的基数为10,并对曾破产的玩家修改颜色为红色。

从动图可以看出,曾经破产的玩家再逆袭是可以的,但是逆袭的玩家从数量和财富值来说都是不如一开始领先的玩家。

出生不同

如果更贴近一下真实的世界,每个人出生的财产是不一样的。

即使进行1000次财产分配,出生财产处于下层的依旧处于下层,出生财产处于上层依旧处于上层。

不乏也有红色这样的上进派,希望通过自己的努力进入上层阶级,这需要时间,也需要运气。

政府补贴

当然政府是会保证人民的基本生活条件,所以我们设置参数当一个玩家再财富为0时,政府会主动给他补贴10。

我们从下图可以看到紫色玩家展示了真正的落地反弹。

生产力的发展

从时代的角度来看,资源的总和随着生产力的发展是不断膨胀的。

这里我们设置每次分配的时候,每个玩家都减去1块钱但是能够获得3块钱,最后的结果如下图。

可以看到,所有玩家的财富都在增长。所以当我们把眼光放的长远,我们比过去的人们富有太多,可以想想现在的手机放在100年前要值多少钱?

End

是的,尽管最成功的玩家不一定是最努力的那个,但是努力的人大都混的还不错。感谢这个残酷世界还给我们留下一条生路。

看到这里,相信各位读者已经对这个问题有了自己的答案:

该如何面对这个残酷的世界?

那就是努力并坚持下去。

Python分析「我们为什么这么穷」相关推荐

  1. python:「股价瞭望者」(StockWatcher)

    我做了一个小程序,功能如下:监测一只股票,低于或者高于某价格,就会给你的邮箱发邮件提醒你.代码已经经过测试,并可以实时监测股票价格,到达阈值的时候可以发邮件提醒我. 这个程序的主要思路如下: 导入需要 ...

  2. 「WeCode在线少儿编程」荣获腾讯教育年度总评榜大奖!

    「WeCode在线少儿编程」荣获 腾讯网"回响中国" 2018年度知名在线教育品牌奖 2018年度知名在线教育品牌颁奖 2018年11月27日,第十二届"回响中国&quo ...

  3. 厉害!「标题党」文章都能用 Python 分析出来

    在公众号看过那么多文章,有些文章的标题忍不住让你点进去,结果进去一看,标题党啊,有点失望.今天来用 Python 分析什么样的文章有"标题党"的嫌疑,而哪些文章标题妙笔生花且内容名 ...

  4. python seo编程_「SEO及应用编程」开课!

    一.「SEO及应用编程」课程大纲,请见: SEO应用编程大纲​www.edrawsoft.cn 二.授课内容简介 两个模块:「SEO套路」和「SEO应用编程」 「SEO套路」模块,分 "域名 ...

  5. LeetCode 458. Poor Pigs--智力题「小白鼠试毒」--C++,Python解法

    题目地址:Poor Pigs - LeetCode There are 1000 buckets, one and only one of them is poisonous, while the r ...

  6. 没有任何基础的可以学python吗-没有任何基础的人,该如何学习Python?「附具体步骤」...

    原标题:没有任何基础的人,该如何学习Python?「附具体步骤」 Python是一门简单易学的语言,可是对于完全没有任何基础的小白来说,入门也是不容易的. 今天,我们来看一下,对于这部分同学来说,具体 ...

  7. 怎么学python-没有任何基础的人,该如何学习Python?「附具体步骤」

    原标题:没有任何基础的人,该如何学习Python?「附具体步骤」 Python是一门简单易学的语言,可是对于完全没有任何基础的小白来说,入门也是不容易的. 今天,我们来看一下,对于这部分同学来说,具体 ...

  8. 怎样对流媒体进行压力测试_对node工程进行压力测试与性能分析「干货」

    作者:小黎 转发链接:https://mp.weixin.qq.com/s/WBe7ZLoqFD9UqNusnv_IDA 前言 在系统上线前,为了看下系统能承受多大的并发和并发下的负载情况,常常会先进 ...

  9. 没有基础的人可以学python吗-没有任何基础的人,该如何学习Python?「附具体步骤」...

    原标题:没有任何基础的人,该如何学习Python?「附具体步骤」 Python是一门简单易学的语言,可是对于完全没有任何基础的小白来说,入门也是不容易的. 今天,我们来看一下,对于这部分同学来说,具体 ...

最新文章

  1. 非本地类型不能定义方法 cannot define new methods on non-local type time.Duration
  2. 《CIO新思维III-变革时代的企业IT战略与实务》即将出版,战略观点征集活动中...
  3. 教你用Python合成人像,足不出户游遍全球!
  4. 天啊!NBA球星将举办第一届科技峰会!
  5. 前端学习(547):node的系统模块fs
  6. LeedCode篇:234. 回文链表
  7. JAVA计算器计时器_Java中计时器的使用
  8. ssis 包部署_如何使用各种选项从SSIS目录执行已部署的程序包
  9. 数据结构和算法详解(三)——递归、排序、散列表
  10. 如何在 CentOS 中添加、启用和禁用一个仓库
  11. Android应用程序组件Content Provider在应用程序之间共享数据的原理分析
  12. 航天电子业绩下降近两成
  13. Android 网络框架之Retrofit2使用详解及从源码中解析原理
  14. 主流数据库对比,主流数据库性能、选型对比
  15. 2021年中国研究生数学建模竞赛F题航空公司机组优化排班问题思路参考代码
  16. 开机自启动——修改注册表
  17. html整体框架的大小,html如何动态改变框架的大小
  18. jQuery 读书笔记之一
  19. 国际贸易中,FOB CFR CIF的区别是什么?
  20. 一证通查查询名下互联网账户

热门文章

  1. Linux通过进程号查询占用的端口
  2. linux安装selenium+chrome+phantomjs
  3. [FPGA][DE0] Qsys 加入 FLASH 記憶體 方法及步驟
  4. X-Frame-Options 配置
  5. 申请https协议总结
  6. centos6/7 yum安装mysql客户端和rpm包方式安装方式
  7. 纠结做电气自动化呢还是编程好。。。
  8. Serverless 实战 —— Serverless + Egg.js 后台管理系统实战
  9. 安装Debian-9(Stretch)服务器图文教程
  10. idea的总部_Studio Didea新总部办公室,意大利 / Studio Didea