random库&string库

在这里插入图片描述random.random()用于生成一个0到1的随机符小数: 0 <= n < 1.0
np.random.rand()通过本函数可以返回一个或一组服从“0~1”均匀分布的随机样本值。随机样本取值范围是[0,1),不包括1
random.randint()的函数原型为:random.randint(a, b),用于生成一个指定范围内的整数。a <= n <= b
np.random.randn()函数,通过本函数可以返回一个或一组服从标准正态分布的随机样本值,由 np.random.randn()函数所产生的随机样本基本上取值主要在-1.96~+1.96之间,当然也不排除存在较大值的情形,只是概率较小而已。

np.random.randn(d0,d1,d2……dn) 1)当函数括号内没有参数时,则返回一个浮点数;
2)当函数括号内有一个参数时,则返回秩为1的数组,不能表示向量和矩阵;
3)当函数括号内有两个及以上参数时,则返回对应维度的数组,能表示向量或矩阵;
4)np.random.standard_normal()函数与np.random.randn()类似,但是np.random.standard_normal()
的输入参数为元组(tuple). 5)np.random.randn()的输入通常为整数,但是如果为浮点数,则会自动直接截断转换为整数。

在这里插入图片描述

在这里插入图片描述
random.choice从序列中获取一个随机元素。其函数原型为:random.choice(sequence)。参数sequence表示一个有序类型。sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。在这里插入图片描述
random.shuffle的函数原型为:random.shuffle(x[, random]),用于将一个列表中的元素打乱

import random

print( random.randint(1,10) )        # 产生 1 到 10 包括10的一个整数型随机数  
print( random.random() )             # 产生 0 到 1 之间的随机浮点数不包括1
print( random.uniform(1.1,5.4) )     # 产生  1.1 到 5.4 之间的随机浮点数,区间可以不是整数
print( random.choice('tomorrow') )   # 从序列中随机选取一个元素
print( random.randrange(1,100,2) )   # 生成从1到100的间隔为2的随机整数

a=[1,3,5,6,7]                # 将序列a中的元素顺序打乱
random.shuffle(a)
print(a)

在这里插入图片描述

 # 多个字符中生成指定数量的随机字符:
print (random.sample('zyxwvutsrqponmlkjihgfedcba',5))

# 从a-zA-Z0-9生成指定数量的随机字符:
ran_str = ''.join(random.sample(string.ascii_letters + string.digits, 8))
print (ran_str)

# 多个字符中选取指定数量的字符组成新字符串:
print( ''.join(random.sample(['z','y','x','w','v','u','t','s','r','q','p','o','n','m','l','k','j','i','h','g','f','e','d','c','b','a'], 5)))

在这里插入图片描述

实例运用

python生成10个8位含大小写数字的随机密码,每个密码一行,并生成一个名叫随机密码的文档保存

import random
import string
a=string.ascii_letters+string.digits
key=[]
keyall=[]
for i in range(10):
    key=random.sample(a,8)#生成有8个单字符的一个列表
    keys="".join(key)#列表转换成1整个长字符串
    keyall.append(keys+'\n')#转换成8个长字符串组成的一个列表
fo = open('随机密码.txt','w',encoding='utf-8')
#有的话就打开文件,没有的话就新建一个
fo.writelines(keyall)#这里只能是单个列表不能是嵌套列表
fo.close()#写入时要注意关闭文件才能写入

补充一下string库
在这里插入图片描述

参考
https://blog.youkuaiyun.com/dakenan1/article/details/100515767?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522161190619416780274197009%252522%25252C%252522scm%252522%25253A%25252220140713.130102334…%252522%25257D&request_id=161190619416780274197009&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-100515767.first_rank_v2_pc_rank_v29&utm_term=random.random%2528%2529%25E7%259A%2584%25E7%2594%25A8%25E6%25B3%2595

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值