作者:拍友2602932873 | 来源:互联网 | 2023-01-30 20:19
思路一:str=‘abcd.....xyz0123456789ABCD....XYZ’
思路二:str1='abcd...' str2='ABCD....XYZ' str3='0123456789'
思路三:引入string 使用 string.ascii_lowercase 等
思路四:引入ASCII 使用随机以及正则 目前感觉是比较正确的 有待优化
1 # -*- coding: utf-8 -*-
2 # @Time : 2018/10/8 16:24
3 # @Author : wangyafeng
4 # @Email : 279949848@qq.com
5 # @Software: PyCharm
6
7
8 import random,re
9
10 checkcode = ''
11 for i in range(8):
12 current = random.randrange(0,100)
13 # 字母
14 if current%2==0:
15 tmp=chr(random.randint(65,90))
16 checkcode += str(tmp)
17 elif current%3==0:
18 tmp=chr(random.randint(97,122))
19 checkcode += str(tmp)
20 #数字
21 else:
22 tmp=random.randint(0,9)
23 checkcode += str(tmp)
24
25 # matchObj=re.match('^[A-Za-z0-9]{8}$',checkcode)
26 matchObj=re.match('^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9]).{8}$',checkcode)
27 if matchObj:
28 print(checkcode)
29 else:
30 print("请重新生成")