python 内置模块random_python内置模块--random

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))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值