Python——巧用随机数

随机数在编程中非常重要,有些场合不得不使用随机数,如创建1000个满足0~1正太分布的随机数;有些场合可以避开使用随机数,但人为设置的数字显得呆板,最后还是选择随机数。
1、创建1000个满足0~1正太分布的随机数,代码如下:

import numpy as np
from matplotlib import pyplot as plt
avg = 0
std = 1
num = 1000
np.random.seed(0)
# bins指的是柱子的数目
plt.hist(np.random.normal(avg, std, num), color='b', label='0-1 Normal Distribution', bins=100)
plt.title('0-1 Normal Distribution')
plt.xlabel('x', fontsize=12)
plt.ylabel('y', fontsize=12)
plt.show()

运行结果:
在这里插入图片描述

2、利用随机数为不同类别的矩形框设置不同的颜色,代码如下:

import numpy as np
classes = ['气孔', '夹渣', '焊瘤', '裂纹', '咬边']
rgbs = []
for i in range(len(classes)):
	# 即使以后增加类别,之前创建的类别的矩形框的颜色也不会变
	np.random.seed(i)
	rgb = [np.random.randint(0,255) for i in range(3)]
	rgbs.append(rgb)
print(rgbs)

3、numpy创建随机数方法总结

import numpy as np

# 在[low,high)范围内生成随机的浮点数
print('np.random.uniform(0,100,3) is\n', np.random.uniform(0,100,3),'\n')

# 在[0,1)范围内生成随机的浮点数
print('np.random.random(3) is\n', np.random.random(3),'\n')

# 生成满足(avg, std)分布的随机的浮点数
print('np.random.normal(10, 1, (2,3)) is\n', np.random.normal(10, 1, (2,3)),'\n')

# 生成满足(0,1)分布的随机的浮点数
print('np.random.randn(2,3) is\n', np.random.randn(2,3),'\n')

# 在[low,high)范围内生成随机的整数
print('np.random.randint(0,100,3) is\n', np.random.randint(0,100,3),'\n')

# 从list中随机抽取数据
print('np.random.choice([1,2,3,4,5,6], 3) is\n', np.random.choice([1,2,3,4,5,6], 3),'\n')

# 将list随机打乱
data = [1,2,3,4,5,6]
np.random.shuffle(data)
print('data = np.array([1,2,3,4,5,6]);np.random.shuffle(data) is\n', data)

运行结果:
在这里插入图片描述

4、random创建随机数方法总结

import random

# 从列表中不重复地随机抽取若干个元素
print('random.sample([1,2,3,4,5,6],3) is\n', random.sample([1,2,3,4,5,6],3), '\n')

# 将列表顺序打乱
list = [1,2,'a','b']
random.shuffle(list)
print("random.shuffle([1,2,'a','b']) is\n",list)

运行结果:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值