美文网首页
随机掷骰子

随机掷骰子

作者: 浮出海面_d825 | 来源:发表于2022-04-16 19:58 被阅读0次

生成随机数

random模块
常用函数
random() —— 生成一个[0,1.0)之间的随机浮点数
uniform(a,b) —— 生成一个a到b之间的随机浮点数
randint(a,b) —— 生成一个a到b之间的随机整数
choice(<list>) —— 从列表中随机返回一个元素
shuffle(<list>) —— 将列表中元素随机打乱
sample(<list>,k) —— 从指定列表中随机获取k个元素

遍历列表获取每个元素的索引号及其元素值

enumerate()函数
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

seasons = ['Spring', 'Summer', 'Fall', 'Winter']
list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
list(enumerate(seasons, start=1))       # 下标从 1 开始
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]

普通的for循环:

i = 0
seq = ['one', 'two', 'three']
for element in seq:
...     print i, seq[i]
...     i += 1
...
0 one
1 two
2 three

for 循环使用 enumerate:

seq = ['one', 'two', 'three']
for i, element in enumerate(seq):
...     print i, element
...
0 one
1 two
2 three

将对应点数和次数关联起来

zip()函数
用于将对应的元素打包成一个个元组

l1 = [1, 2, 3, 4, 5]
l2 = ['a', 'b', 'c', 'd', 'e']
zip(l1, l2)
[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e')]

注意:元组中的元素是不可以修改的,若要修改需要转换成字典或其他
如dict(zip(l1, l2))

可视化

matplotlib模块

散点图绘制

import matplotlib.pyplot as plt
# x, y分别是x坐标和y坐标的列表
plt.scatter(x, y)
plt.show()

直方图绘制

plt.hist(data, bins(
data:数据列表
bins:分组边界

边界颜色edgecolor
边界线宽度linewidth
频率normed=1

plt.hist(roll_list, bins=range(2, 14), normed=1, edgecolor='black', linewidth=0.5)

解决中文显示问题:

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

NumPy

Numeric Python:用Python实现的科学计算库
包括:
1、强大的N维数组对象array
2、成熟的科学函数库
3、实用的线性代数、随机数生成函数等
NumPy的操作对象是多维数组ndarray
ndarray.shape 数组的维度
创建数组:np.array(<list>), np.arrange()…
改变数组的形状 reshape()
NumPy创建随机数组
np.random.randint(a, b, size)
创建[a, b)间形状为size的数组
例如:

import numpy as np
arr = np.random.randint(1, 10, (3, 4))
print(arr)
生成3x4的矩阵,数字在1-10之间

相关文章

网友评论

      本文标题:随机掷骰子

      本文链接:https://www.haomeiwen.com/subject/rxrasrtx.html