python random随机模块
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python random随机模块相关的知识,希望对你有一定的参考价值。
一、random随机数模块
1、取0-1之间随机的浮点数
>>> import random //导入random模块
>>> random.random() //random方法为取0-1之间的随机浮点数
0.36983506915898345
那么可不可以在指定范围内取随机浮点数呢?
>>> random.uniform(1,3) //使用uniform方法
1.0276983956141716
2、取指定范围内的随机整数
>>> random.randint(1,3) //小括号中需要指定范围,注意:这里的1-3都能随机取到(1,2,3)
1
>>> random.randrange(1,3) //randrange是含头不含尾,所以随机取的值就是(1,2)
2
那能不能从列表或者字符串中随机取呢?
>>> random.choice("hello") //使用choice方法来达到效果
'l'
>>> random.choice([1,2,3])
2
3、从序列中随机取两位
>>> random.sample("hello",2) //括号中要传递两个参数
['e', 'h']
>>> random.sample("hello",2)
['o', 'l']
4、把列表中元素的顺序打乱
>>> l1 = [1,2,3,4,5]
>>> random.shuffle(l1) //使用shuffle方法可以把列表元素的顺序打乱
>>> l1
[4, 2, 1, 5, 3]
小练习:使用random模块生成验证码
小知识:ASCII中65-90是A-Z的字母
import random
member = ""
for i in range(4):
current = random.randrange(0,4)
if current == i:
tmp = chr(random.randint(65,90))
else:
tmp = random.randint(0,9)
member += str(tmp)
print(member)
脚本拆解:
定义一个空变量用来接收随机验证码,使用for循环循环数字,在循环内生成一个与之范围相同的验证码,用随机数和循环数字做匹配,如果配对成功输出大写字母,如果没匹配上,输出0-9之间的任意整数,最后把混合值赋值给初始的空变量。
以上是关于python random随机模块的主要内容,如果未能解决你的问题,请参考以下文章