思路一: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("请重新生成")