random && string模块
Posted wenshu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于random && string模块的主要内容,如果未能解决你的问题,请参考以下文章
Python基础 day21random & 序列化 & 异常处理 & Os