最近在找python的项目练手,看到有相关小项目,就做一下,熟悉下编码,主要思路是参考GitHub上面的源码。
1.使用random的choice
import random
#构建一个列表,将大写小写字母和10个数字全部添加进来
list = []
#生成26个大写字母
for x in range(65, 91):
a = str(chr(x)) #生成对应的ASCII码对应的字符串(先从ASCII码转为字符)
list.append(a)
#生成26个小写字母
for x in range(97, 123):
a = str(chr(x)) #生成对应的ASCII码对应的字符串(先从ASCII码转为字符)
list.append(a)
for x in range(10):
list.append(str(x))
def get_code():
s = ''
for x in range(2):
for x in range(16):
a = random.choice(list)#直接从已构建的列表中筛选随机元素返回
s = s + a
if len(s) == 16:
s = s +'\n'
return s
if __name__ == '__main__':
print(get_code())
2.使用random的sample
import random
#构建一个列表,将大写小写字母和10个数字全部添加进来
list = []
#生成26个大写字母
for x in range(65, 91):
a = str(chr(x)) #生成对应的ASCII码对应的字符串(先从ASCII码转为字符)
list.append(a)
#生成26个小写字母
for x in range(97, 123):
a = str(chr(x)) #生成对应的ASCII码对应的字符串(先从ASCII码转为字符)
list.append(a)
for x in range(10):
list.append(str(x))
def get_code():
s = ''
for x in range(4):
a = "".join(random.sample(list,4))#直接从已构建的列表中筛选随机元素返回 切片式随意筛选
s = a +"-"+ s
return s[:-1]#不输出最后一个字符
if __name__ == '__main__':
for x in range(2):
print(get_code())