7.小象笔记--模拟掷骰子

1.random模块

函数说明
random()生成[0,1)直接随机数浮点数
uniform(a,b)生成a到b的随机浮点数
randint(a,b)生成a到b的整数
choice(<List>)从列表随机返回一个元素
shuffer(<List>)将列表随机打乱
sample(<List>,k)从指定列表随机获取k个元素

https://docs.python.org/3/library/random.html

2.遍历列表

函数说明
enumerate(<List>)返回索引及元素值
result_list = [0]*11
# 筛子数
dice_list = range(2, 13)
# 合并打包,zip返回的是元组,需转成dict
result_dict = dict(zip(dice_list, result_list))

2.数据可视化matplotlib模块

https://matplotlib.org/gallery.html

  • 散点图
import matplotlib.pyplot as plt
# x,y 分别代表x,y坐标;c:颜色,s散点图面积大小,alpha:透明度
plt.scatter(result_dict.keys(), result_dict.values(), s=rate_list, c='blue', alpha=0.5)
plt.show()
  • 柱状图
# data:数据
# bins:分组-数据分组边界[a,b)
# edgecolor:边线颜色-黑色'black'
# linewidth:边线粗细
# normed:归一化(频率)
# rwidth:柱状图宽度
plt.hint(data,bins,edgecolor='black',linewidth=0.3,normed=1,rwidth=0.8)
plt.title('骰子点数统计')
plt.xlabel('点数')
plt.ylabel('频率')
plt.show()

# 中文显示
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

3.NumPy科学计算

  1. N维数组对象array
  2. 科学函数库
  3. 线性代数、随机数生产函数

创建数组np.array<List>,np.arange() 改变数组现状reshape() np.random.randint(a,b,size):创建[a,b),形状为sized

# 生成随机数组
rall1_result = np.random.randint(1, 7, size=times)
rall2_result = np.random.randint(1, 7, size=times)
# 数组间加和
rall_list = rall1_result + rall2_result

# 输出柱状图信息
hist, bins = np.histogram(rall_list, bins=range(2, 14), normed=1)
result_dict = dict(zip(bins,hist))

# 自定义坐标lable
tick_lables = ['2点', '3点', '4点', '5点', '6点',
                   '7点', '8点', '9点', '10点', '11点', '12点']
# 坐标位置
tick_pos = np.arange(2, 13) + 0.5
plt.xticks(tick_pos, tick_lables)


转载于:https://my.oschina.net/crossbell/blog/1601097

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值