py random模块

#random模块


import random
# print(random.random())#获取一个随机数,这种是默认从0到1里面获取一个,因此结果一般是浮点数
# print( random.uniform(1, 10))#从指定范围内获取一个随机数字,一般是浮点数

# print(random.randint(1,9))#获取随机整数,从1到9,不包含右边界的值
# print(random.choice(["123",4,[5,6]]))#获取随机的值域(列表\元组\字符串)里面的一个值
# print(random.randrange(1,9))#随机获取1到9间 的一个数字
#print(random.randrange(1,9,2))#随机选取1到9间的偶数:



#从已知范围 获取 随机字符:
# print( random.choice('abcdefghi4567089uvwxyz!@#$%^&*()'))

# 从给定的字符串中,生成指定长度的随机字符:
# print( random.sample('zyxwvutsrqponmlkjihgfedcba',5) )

# 多个字符中选取指定长度的字符,然后组成新字符串:------->>指定26个字母,随机组合生成5个字符
# print( ''.join(random.sample(['z','y','x','w','v','u','t','s','r','q','p','o','n','m','l','k','j','i','h','g','f','e','d','c','b','a'], 5)))

# 随机剪刀石头布:
# print(random.choice(['剪刀', '石头', '布']))


# 从a-zA-Z0-9生成指定长度的随机字符:---->>使用string模块
# import string
# ran_str = ''.join(random.sample(string.ascii_letters + string.digits, 8))
# print (ran_str)

 

写一个函数实现:

结合用string模块得到数字及字母,并通过列表生成式的方法得到结果

import random
import string
 
def generate_random_str(randomlength=16):
""" 生成一个指定长度的随机字符串,其中 string.digits=0123456789 #string.digits是string模块特有,随意修改会报错 string.ascii_letters=abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ """
str_list = [random.choice(string.digits + string.ascii_letters) for i in range(randomlength)] random_str = ''.join(str_list) return random_str f=generate_random_str(32) print(f)

 

 

 

posted on 2020-08-02 11:06  QiKa  阅读(450)  评论(0编辑  收藏  举报