Python的学习笔记案例7--模拟掷骰子5.0

一、Python科学计算库Numpy(Numeric Python)

1、强大的N维数组对象array
2、成熟的科学函数库
3、实用的线性代数、随机数生成函数等
4、NumPy的操作对象时多维数组ndarray
nbarray.shape数组的维度
5、创建数组:np.array(<list>),np.arange()
改变数组形状reshape()

二、语法:NumPy创建随机数组

np.rangdom.randint(a, b,size)

创建[a,b)间形状为size的数据

实例:

三、掷骰子的科学计算

"""
    作者:lanxingbudui
    功能:模拟掷骰子
    版本:1.0
    日期:2019-10-26
    2.0新增功能:模拟投掷2个骰子
    3.0新增功能:投掷两个骰子的可视化输出
    4.0新增功能:直方图可视化结果
    5.0新增功能:科学计算
"""
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 = 10000
    # 记录骰子的结果
    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, 13))
    print(bins)
    print(hist)

    # 数据可视化
    plt.hist(result_arr, bins=range(2, 14), density=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()

来了,上结果图。丑爆了大图!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值