随机函数(random)
- random.random()→从0-1之间随机取出一位小数
import random
>>> random.random()
0.9496936495691376
>>> round(random.random(),2)→四舍五入并保留两位小数
0.13
- random.randint(x,y)→从x,y之间随机取出一位整数
>>> random.randint(1,10)
6
- random.randrange(x,y,z)→从range(x,y,z)中随机取出一位整数,z为步长
>>> random.randrange(10,20)
13
>>> random.randrange(10,20,2)
12
- random.shuffle(sequence)→将sequence(序列)随机排序
>>> a=[1,2,3,4,5,6,7]
>>> random.shuffle(a)
>>> a
[2, 7, 1, 5, 3, 4, 6]
- random.choice(sequence)→从序列中随机取出一个元素
>>> random.choice([1,2,3,4,5,6,7])
7
>>> random.choice([1,2,3,4,5,6,7])
1
- random.sample(sequence,num)→从序列sequence中随机取出num个元素
>>> random.sample([1,2,3,4,5,6,7],3)
[1, 3, 2]
- random.uniform(x,y)→从x,y之间取出一个随机浮点数,x可以小于y
>>> random.uniform(10,5)
9.004245035725239
#练习:从0-99中随机取出1-10个数
random.sample(range(100),random.randint(1,10))
练习:生成一个随机的八位密码,必须包含两个大写字母,三个小写字母,两个数字,以及一个下划线
import random
import string
password_element_list=[]
password_element_list.append("_")
password_element_list.append(string.digits[random.randint(0,10)])
password_element_list.append(string.digits[random.randint(0,10)])
password_element_list.append(string.ascii_uppercase[random.randint(0,25)])
password_element_list.append(string.ascii_uppercase[random.randint(0,25)])
for i in range(3):
password_element_list.append(string.ascii_lowercase[random.randint(0,25)])
random.shuffle(password_element_list)
print ("".join(password_element_list))