您的位置:首页 > 编程语言 > Python开发

Python小例子——使用科学计算库NumPy模拟掷骰子

2020-01-12 11:03 260 查看
# -*- coding: utf-8 -*-
"""
作者:宇轩亚40
功能:使用科学计算库NumPy模拟掷骰子
"""
import matplotlib.pyplot as plt
import numpy as np
#中文显示
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

def main():
total_times = 1000
#记录骰子的结果
roll1_arr = np.random.randint(1, 7, size=total_times)
roll2_arr = np.random.randint(1, 7, size=total_times)
result_arr = roll1_arr + roll2_arr

hist, bins = np.histogram(result_arr, bins=range(2, 14))
print(hist)
print(bins)

#数据可视化
plt.hist(result_arr, bins=range(2, 14), normed=1, edgecolor='black', linewidth=1, rwidth=0.8)

#设置x轴坐标点显示
tick_labels = ['2点', '3点', '4点', '5点', '6点', '7点', '8点', '9点',
'10点', '11点', '12点']
tick_pos = np.arange(2, 13) + 0.5
plt.xticks(tick_pos, tick_labels)
plt.title('骰子点数统计')
plt.xlabel('点数')
plt.ylabel('频率')
plt.show()

if __name__ == '__main__':
main()

运行上述程序,结果如下图所示:


同时,程序还会显示如下的运行结果:

[ 24  50  97 111 151 167 133 105  85  50  27]
[ 2  3  4  5  6  7  8  9 10 11 12 13]
  • 点赞
  • 收藏
  • 分享
  • 文章举报
菩提树下祈愿少年 发布了116 篇原创文章 · 获赞 23 · 访问量 2024 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: