python生成四位随机数_利用Python生成随机4位验证码

"""

作者:白

时间:2018年1月8日

功能: 生成随机4位验证码(必须由两个2字母和2个数字组成)

"""

import random

def main():

list_num = [1,2,3,4,5,6,7,8,9,0]

list_str = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','s','t','x','y','z']

veri_str = random.sample(list_str,2)

veri_num = random.sample(list_num,2)

veri_out = random.sample(veri_num + veri_str,4)

veri_res = str(veri_out[0]) + str(veri_out[1]) + str(veri_out[2]) + str(veri_out[3])

print(veri_res)

if __name__ == '__main__':

main()

这里有两个问题:

1、如何简化list_str 生成一个a-z的列表,这里我就用比较笨的方法一个一个列出来了

2、不知道python有没有一键式的函数,生成验证码的那种

如知道以上两个问题的,可以留言告诉我一下,不胜感激!~

对于上面的问题,经过昨天下午的测试和练习以不同函数分开的方法拼接而成,这样方便后面对于不同模块的使用。

版本二:"""

作者:白

日期:2018年1月8日

功能:利用random/chr()/ord()生成一个4位随机数(包含大小写字母和数字)

chr(x) 将一个整数转换为一个字符

ord(x) 将一个字符转换为它的整数值

"""

import random

veri_list = []

#通过chr()函数取随机大写字母A-Z

def A_str():

for i in range(4):

veri_num1 = random.randint(65,90) #取值65-90随机一个整数

veri_str1 = chr(veri_num1)

veri_list.append(veri_str1)

#通过chr()函数取随机小写字母a-z

def a_str():

for i in range(4):

veri_num2 = random.randint(97,122) # 取值98-122随机一个整数

veri_str2 = chr(veri_num2) # 转换小写字母a-z的随机

veri_list.append(veri_str2)

#通过chr()和ord()函数取随机数字0-9

def num_1():

for i in range(4):

veri_num3 = random.randint(48,57)

veri_str3 = chr(veri_num3)

veri_list.append(veri_str3)

#执行主函数

def main():

A_str()

a_str()

num_1()

veri_res = random.sample(veri_list,4)

# print(veri_res)

print(str(veri_res[0]) + str(veri_res[1]) + str(veri_res[2]) + str(veri_res[3]))

if __name__ == '__main__':

main()

版本三:"""

作者:白

日期:2018年4月15日

功能:利用random/chr()/ord()生成一个8位随机数(包含大小写字母和数字和特殊字符)

chr(x) 将一个整数转换为一个字符

ord(x) 将一个字符转换为它的整数值

"""

import random

veri_list = []

# 通过chr()函数取随机大写字母A-Z

def A_str():

for i in range(2):

veri_num1 = random.randint(65, 90) # 取值65-90随机一个整数

veri_str1 = chr(veri_num1)

veri_list.append(veri_str1)

# 通过chr()函数取随机小写字母a-z

def a_str():

for i in range(2):

veri_num2 = random.randint(97, 122) # 取值98-122随机一个整数

veri_str2 = chr(veri_num2) # 转换小写字母a-z的随机

veri_list.append(veri_str2)

# 通过chr()和ord()函数取随机数字0-9

def num_1():

for i in range(2):

veri_num3 = random.randint(48, 57)

veri_str3 = chr(veri_num3)

veri_list.extend(veri_str3)

#通过列表生成随机特殊字符

def s_str():

tstr = ['!', '@', '#', '$', '%', '&', '_']

veri_num4 = random.sample(tstr,2)

veri_list.extend(veri_num4)

# 执行主函数

def main():

A_str()

a_str()

num_1()

s_str()

res_str=random.sample(veri_list,8)

print(''.join(res_str))

if __name__ == '__main__':

main()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值