Python random模块的使用示例
常用的random模块方法
importrandom
#random.random()用于生成一个0到1的随机浮点数:0<=n<1.0
print(random.random())#0.18246795790915304
#random.randint(a,b),用于生成一个指定范围内的整数。
#其中参数a是下限,参数b是上限,生成的随机数n:a<=n<=b
print(random.randint(1,10))#8
#random.randrange([start],stop[,step]),
#从指定范围内,按指定基数递增的集合中获取一个随机数
#如:random.randrang(10,100,2),结果相当于从[10,12,14,16,...96,98]序列中选取一个随机数
#random.randrang(10,100,2)在结果上与random.choice(range(10,100,2))等效
print(random.randrange(1,10))#5
#random.choice从序列中获取一个随机元素。其函数原型为:random.choice(sequence)。参数sequence表示一个有序类型。
#这里要说明一下:sequence在python不是一种特定的类型,而是泛指一系列的类型。
#list,tuple,字符串都属于sequence。
print(random.choice("Python"))#y
print(random.choice(["JGood","is","a","handsome","boy"]))#JGood
print(random.choice(("Tuple","List","Dict")))#List
#random.sample(sequence,k),从指定序列中随机获取指定长度的片段。sample函数不会修改原有序列。
print(random.sample([1,2,3,4,5],3))#[1,2,5]
#random.shuffle(x[,random]),用于将一个列表中的元素打乱。
p=["Python","is","powerful","simple","andsoon..."]
print(random.shuffle(p))
#['powerful','simple','is','Python','andsoon...']
#random.uniform(a,b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。
#如果a=n>=a
#如果a>b,则生成的随机数n:a>=n>=b
printrandom.uniform(10,20)#14.73
printrandom.uniform(20,10)#18.579
实际应用
importrandom
lis=[1,2,3,4,5,6,7,8,9,10]
#随机生成浮点数
print(random.random())#随机返回0~1之间的浮点数
0.47626693393991737
print(random.uniform(1,10))#随机返回1~10之间的浮点数
4.0844448042717225
#随机生成整数
print(random.randint(1,10))#随机生成1~10之间的整数
8
print(random.randrange(0,10,2))#随机生成0~10之间的偶数
8
print(random.randrange(1,10,2))#随机生成1~10之间的基数
1
#操作序列、字符串
##从序列、字符串中随机返回一个元素
print(random.choice(lis))
4
print(random.choice('abcdefg'))
g
##随机截取序列、字符串中指定长度片段
print(random.sample(lis,2))
[9,4]
print(random.sample('abcdefg',2))
['f','a']
##打乱一个序列
random.shuffle(lis)
print(lis)
[7,6,1,2,10,3,4,8,5,9]
生成随机验证码
importrandom checkcode='' foriinrange(6): current=random.randrange(0,6) ifcurrent!=i: temp=chr(random.randint(65,90)) else: temp=random.randint(0,9) checkcode+=str(temp) print(checkcode)
以上就是Pythonrandom模块的使用示例的详细内容,更多关于Pythonrandom模块的资料请关注毛票票其它相关文章!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。