发布时间:2019-07-16 10:09:38编辑:auto阅读(1315)
random模块
random顾名思义,用于生成随机字符串,具体用法如下
import random lis = [1,2,3,4,5,6,7,8,9,10] #随机生成浮点数 print(random.random()) #随机返回0~1之间的浮点数 print(random.uniform(1,10)) #随机返回1~10之间的浮点数 #随机生成整数 print(random.randint(1,10)) #随机生成1~10之间的整数 print(random.randrange(0,10,2)) #随机生成0~10之间的偶数 print(random.randrange(1,10,2)) #随机生成1~10之间的基数 #操作序列、字符串 ##从序列、字符串中随机返回一个元素 print(random.choice(lis)) print(random.choice('abcdefg')) ##随机截取序列、字符串中指定长度片段 print(random.sample(lis,2)) print(random.sample('abcdefg',2)) ##打乱一个序列 random.shuffle(lis) print(lis)
打印结果如下:
0.47626693393991737 4.0844448042717225 8 8 1 4 g [9, 4] ['f', 'a'] [7, 6, 1, 2, 10, 3, 4, 8, 5, 9]
例子:
#-*- coding:utf-8 -*- #随机密码生成器,必须含有大小写字母、数字和符号 ''' (ASCII码) 数字:[48,57] 小写字母:[97,122] 大写字母:[65,90] 符号:[33,47] ''' import random pass_num = int(input("请输入密码长度:")) my_num = pass_num-4 mast_list = [] #用于随机收集大小写字母、数字和符号的ASCII码各一个 ascii_list = [] #用于随机收集剩下的密码字符对应的ASCII码 passwd_list = [] #用于收集由ASCII码转换后的字符 number = range(48,58) s_letter = range(97,123) b_letter = range(65,91) symbol = range(35,38) def creat_mast(lis): a = random.choice(lis) mast_list.append(a) creat_mast(number) creat_mast(s_letter) creat_mast(b_letter) creat_mast(symbol) random.shuffle(mast_list) def creat_list(lis): for i in lis: ascii_list.append(i) creat_list(number) creat_list(s_letter) creat_list(b_letter) creat_list(symbol) ascii_list = random.sample(ascii_list,my_num) + mast_list for i in ascii_list: a = chr(i) passwd_list.append(a) my_pass = "".join(passwd_list) print('随机密码为:%s'%(my_pass))
上一篇: python 查找替换
下一篇: python之执行shell命令
47484
45786
36784
34317
28955
25589
24436
19606
19102
17627
5458°
6041°
5563°
5632°
6566°
5370°
5370°
5878°
5851°
7163°