python 生成随机数模块

因为要做数值仿真实验,用到了随机生成模块random

因此,将相关用法列出如下:

#todo 产生随机数的模块
import random
random.uniform(3,4) # 3到4之间的均匀分布
random.gauss(5,1) # 以5为均值,1为方差的高斯分布。
random.normalvariate(5,1) # 以5为均值,1为方差的高斯分布。
random.randint(4,8) # 从4,5,6,7,8中随机挑出一个整数值。
random.choice([1,4,6,8,0]) # 从1,4,6,8,0中随机挑出一个值。
random.random() # 0-1之间均匀分布的一个实数。
random.sample([randint(10,20) for _ in range(10)], 5)#从10~20间随机抽取5个数;
# Dataframe.sample(n=3,random_state=1)#随机选几行数据


random.choices(population, weights=None, *, cum_weights=None, k=1)
#从population中进行K次随机选取,每次选取一个元素(注意会出现同一个元素多次被选中的情况),
#weights是相对权重值,population中有几个元素就要有相对应的weights值,
#cum_weights是累加权重值,例如,相对权重〔10, 5, 30,5〕相当于累积权重〔10, 15, 45,50〕。
#在内部,在进行选择之前,相对权重被转换为累积权重,因此提供累积权重节省了工作。返回一个列表。

#todo numpy中随机数生成模块
np.random.choice([1,4,6,8,0],replace=True,p=[0.1,0.2,0.3,0.3,0.1])
#replace指定为True时,采样的元素会有重复;当replace指定为False时,采样不会重复。
#p为每一个数值选择的概率,加和必须为1

具体应用:

生成验证码(随机数字和字母):

auth = ""          #定义全局验证码变量
for i in range(0,4):
#定义循环4次,形成4位验证码。
        current = random.randint(0,4)                                    #定义一个随机0-4的一个范围,去猜i 的值。
        if current == i:                                                              #如果current 和i 的值一样
                current_code = random.randint(0,9)                #生成一个随机的数字
        else:                                                                            #如果current和i 的值不一样
                current_code = chr(random.randint(65,90))   #生成一个随机的字母,这里一定要主义chr()转换一下。
        auth += str(current_code)                                         #将每次随机生成的值赋值给auth
print(auth)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值