自己先用笨办法写了一遍
from random import *
def main():
lt=[]
ls=[]
for i in range(26):
lt.append(chr(i+97))
for i in range(10):
lt.append(str(i))
for i in range(9):
x=[]
for j in range(8):
x.append(lt[randint(0,35)])
passport=''.join(x) #将x中的元素去掉‘’连成字符串
ls.append(passport)
print(ls)
main()
然后发现在赋值的时候如果我写成
lt=ls=[]
lt和ls指向的内存是同一片,会同时修改
看了网上的程序
import random
def gen_pass():
# 去除0、O、o、z、Z、l
# symbols = '!@#$%&*+/\~-_=^' # 还可以添加特殊字符,加强密码
payloads = ''.join([chr(x)+chr(x+32) for x in range(65,91) if x not in [79, 90, 108, 111, 122]]) + '123456789'
return ''.join([random.choice(payloads) for _ in range(8)])
for i in range(10):
print(gen_pass())
————————————————
版权声明:本文为优快云博主「FatPuffer」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42517220/article/details/90474703
比我简洁多了…