Python零基础入门学习笔记(36-40)--模拟掷骰子

论坛 期权论坛 期权     
一万小时十万伏特   2019-6-30 19:03   2330   0

random模块
用来生成随机数
引入随机函数库方式:import random

函数含义random()生成一个包含0,不包含1之间的随机浮点数uniform(a,b)生成一个a到b之间的随机浮点数
randint(a,b)生成一个a到b之间的随机整数choice()从列表中元素随机返回一个元素shuffle()将列表中元素随机打乱sample(,k)从指定列表中随机获取k个元素

enumerate() 函数
在遍历列表时,可以同时获取每个元素的元素值及其索引号
  • 用于可遍历的组合转换为一个索引号
  • 一般用于for循环中,同时列出元素和元素的索引号



1、模拟投掷一颗骰子


zip()函数
  • 用于将对应的元素打包成一个个元组
  • 元组中的元素是不可修改的,若要修改需要转换成字典或者其他数据类型
  • 转成字典格式:dict(zip(list1, list2))




2、模拟投掷两颗骰子


Python数据可视化
  • matplotlib模块,是一个数据可视化函数库
  • matplotlib的子模块pyplot 提供了2D图表制作的基本函数


问题:matplotlib模块不存在


解决方案:[Mac端] Matplotlib 安装
步骤:
  • 下载并安装get-pip.py

    1. curl -O https://bootstrap.pypa.io/get-pip.py
    复制代码
  • Python 2.7 之前

    1. python get-pip.py
    复制代码
  • Python 3 之后

    1. python3 get-pip.py
    复制代码
  • 安装Matplotlib
    1. pip install matplotlib
    复制代码
  • 最后编辑器重新启动一下,便可解决问题了。

散点图绘制
  • import matplotlib.pyplot as plt
  • plt.scatter(x, y)     
  • plt.show()     

3、可视化投掷结果




直方图介绍
  • 是一种对数据分布情况的图形表示
  • 首先需要对数据进行分组,然后统计每个分组内数据对数量
作用
  • 显示各分组频率或数量分布的情况
  • 易于显示各组之间频率或数量的差别
matplotlib直方图绘制
  • plt.hist(data, bins)   【data:数据列表,bins:分组边界】

4、对两颗骰子点数结果进行简单对数据统计和分析






对于图表中的中文字体显示异常问题,可以参考以下链接,再根据自己的实际情况进行辅助处理,正常都可以解决。
  • mac端:
    https://www.cnblogs.com/Ootori/p/7716687.html
  • win端:
    https://blog.csdn.net/q1148013214/article/details/81172446
NumPy介绍
  • (Numeric Python)用Python实现的科学计算库
包括:
  • 强大的N维数组对象array
  • 有成熟的科学函数库
  • 实用的线性代数、随机数生成函数等
NumPy运算操作对象是多维数组ndarray
  • ndarray.shape数组的维度
  • 创建数组:np.array(),np.arange()...
  • 改变数组形状reshape()



NumPy创建随机数组
创建包含a,不包含b之间形状为size的数组:np.random.randint(a,b,size)


NumPy基本运算
以数组为对象进行基本运算,即向量化操作(两个数组的位置一一对应进行操作)
输出直方图的统计结果:np.histogram()





5、使用科学计算库NumPy简化程序





#  RUNNING · 奔跑吧  
#  是小跑的开在手机里面的全球精品超市
#  希望喜欢小跑技术分享的你,也能喜欢小跑的RUNNING · 奔跑吧~







分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP