深南之星

导航

 

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

 

posted on 2020-02-05 22:24  深南之星  阅读(120)  评论(0编辑  收藏  举报