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科学计算
- N维数组对象array
- 科学函数库
- 线性代数、随机数生产函数
创建数组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)