02.random

1.1 random()模块常用函数

 

函数 描述
random() 返回0<n<=1
getrandbits(n) 以长整形形式返回n个随机位
uniform(a, b) 返回随机实数n,其中a<=n<=b
randrange([start], stop, [step]) 返回range(start,stop,step)中的随机数
choice(seq) 从序列seq中返回随意元素
shuffle(seq[, random]) 原地指定序列seq(将有序列表变成无序的:洗牌)
sample(sea, n) 从序列seq中选择n个随机且独立的元素

1.2 random常用函数举例

import random
#⒈ 随机整数:
print(random.randint(0,99))             # 随机选取0-99之间的整数
print(random.randrange(0, 101, 2))      # 随机选取0-101之间的偶数

#⒉ 随机浮点数:
print(random.random())                   # 0.972654134347
print(random.uniform(1, 10))             # 4.14709813772

#⒊ 随机字符:
print(random.choice('abcdefg'))         # c
print(random.sample('abcdefghij',3))    # ['j', 'f', 'c']

1.3 使用random实现四位验证码

1.3.1 使用for循环实现

import random
checkcode = ''
for i in range(4):
    current = random.randrange(0,4)
    if current == i:
        tmp = chr(random.randint(65,90))        #65,90表示所有大写字母
    else:
        tmp = random.randint(0,9)
    checkcode += str(tmp)
print(checkcode)                            #运行结果: 851K

1.3.2 使用random.sample实现

import random
import string
str_source = string.ascii_letters + string.digits
str_list = random.sample(str_source,7)        #['i', 'Q', 'U', 'u', 'A', '0', '9']

str_final = ''.join(str_list)
print(str_final)            # 运行结果: jkFU2Ed

string模块

>>> string.digits
'0123456789'
>>> string.ascii_lowercase
'abcdefghijklmnopqrstuvwxyz'
posted @ 2021-03-28 10:22  小虾米爱吃鱼  阅读(42)  评论(0编辑  收藏  举报