Python(3.9)-随机函数(random)

随机函数(random)

  • random.random()→0-1之间随机取出一位小数

import random

>>> random.random()
0.9496936495691376
>>> round(random.random(),2)→四舍五入并保留两位小数
0.13

  • random.randint(x,y)→xy之间随机取出一位整数

>>> 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))

原文地址:https://www.cnblogs.com/pw20180101/p/8287012.html