python~random常用方法详解

random常用方法详解

random:生成0到1之间的随机浮点数

>>> import random

>>> random.random()

0.7752409555996718

uniform(a,b):生成a到b之间的随机浮点数

>>> import random

>>> random.uniform(1,5)

2.9766041928834124

randint(a,b):生成a到b之间的随机整数,闭区间即包括b

>>> import random

>>> random.randint(0,100)

91

randrange():在某个范围内生成一个随机数

>>> import random

>>> random.randrange(10)      #生成0到10之间的一个随机数

4

>>> random.randrange(10,50)   #生成10到50之间的一个随机数

33

>>> random.randrange(10,50,2)  #生成10到50之间的一个随机偶数

28

>>> random.randrange(10,-50,-1)  #生成-50到10之间的一个随机数

-40

choice():随机选取序列中的某一个元素

>>> import random

>>> random.choice((1,2,3,4))     #choice()返回的可以是int类型

4

>>> random.choice(["a","b","c"])

'a'

>>> random.choice("abcd")       #choice()返回的也可以是str类型

'b'

>>> random.choices((1,2,3,4))     #choices()返回的是一个list类型

[1]

>>> random.choices("abcdef")

['e']

sample():随机选取序列中的指定个数的元素,返回一个列表

>>> import random

>>> random.sample((1,2,3,4,5,6),3)

[6, 1, 4]

>>> random.sample("abcdef",2)

['b', 'c']

>>> random.sample(["basketball","football","badminton","ping-pong"],2)

['badminton', 'football']

shuffle():洗牌,打乱顺序

>>> import random

>>> new=[1,2,3,4,5]

>>> random.shuffle(new)

>>> new

[4, 1, 3, 5, 2]

练习题:生成一个9位的随机密码,要求包含数字和字母

import string

import random

letters_num= random.randint(1,8)

numbers_num = 9-letters_num

password = ""

 

for i in range(9 ):

    if random.randint(0,1):       #随机触发True和False,执行不同的分支

        password +=string.ascii_letters[random.randint(0,52)]

    else:   

        password +=string.digits[random.randint(0,9)]

 

print (password)

你可能感兴趣的:(python)