random && string模块

random

import random

# 0到1随机浮点数

ret=random.random()  

# [1,3]双闭合区间随机int型数

ret=random.randint(1,3)

# [1,3)左开右闭合区间随机int型数

ret=random.randrange(1,3)

# 随机在指定区间选择数

ret=random.choice([11,22,33,44,55])

# 指定随机区间并且指定随机选择个数

ret=random.sample([11,22,33,44,55],2)

# 指定范围浮点数

ret=random.uniform(1,4)

print(ret)

ret=[1,2,3,4,5]

# 打乱原来序列

random.shuffle(ret)

print(ret)

# 简单的生成五位随机数字字母组合验证码

def v_code():

    ret=""

    for i in range(5):

        num=random.randint(0,9)

        # 用chr转换65-122数字为ASCII上的a-Z字母

        alf=chr(random.randint(65,122))

        s=str(random.choice([num,alf]))

        ret+=s

    return ret

print(v_code())

random.choice(sequence)

#random.choice从序列中获取一个随机元素。其函数原型为:random.choice(sequence)。

参数sequence表示一个有序类型。这里要说明 一下:sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。

random.shuffle()方法将序列的所有元素随机排序。

lst -- 可以是一个序列或者元组。

String模块ascii_letters和digits

import string

string.ascii_letters

string.digits

# 随机获取字符串(字母+数字)

def  random_string_digit(length):

    numOfNum = random.randint(1, length - 1)

    numOfLetter = length - numOfNum

    # 选中numOfNum个数字

    slcNum = [random.choice(string.digits) for i in range(numOfNum)]

    # 选中numOfLetter个字母

    slcLetter = [random.choice(string.ascii_letters) for i in range(numOfLetter)]

    # 打乱这个组合

    slcChar = slcNum + slcLetter

    random.shuffle(slcChar)

    string_digit = ''.join(slcChar)

    return string_digit

原文地址:https://www.cnblogs.com/wenshu/p/12267017.html