尽管它是一个循环,但我的代码不一致,这是为什么呢? [关闭]
python 428
原文标题 :My code is inconsistent despite it being a loop, why is this? [closed]
尽管设置了变量并且它是循环的,但我的史诗 ametuer 密码生成器的密码长度不一致,为什么?这里绳索
import random
characterlist = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m",
"n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"
"1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "!", "*", "&",
"@", "$", "%", "^", "(", ")", "#", "A", "B", "C", "D", "E", "F",
"G", "H", "I", "J", "K", "L", "M", "N", "N", "O", "P", "Q", "R",
"X", "T", "U", "V", "W", "X", "Y", "Z"]
o = open("passpisspee", "w")
ans = 20
sus = 125
val = ans
numb = len(characterlist)
numb = numb + -1
while True:
r = random.randint(0, numb)
o.write(characterlist[r])
val = val + -1
if val == 0:
val = ans
o.write("\n_____________________\n")
sus = sus + -1
if sus == 0:
break
o.close()
(sus 是生成的行数,例如,将输出保持在 30 左右,但该部分工作正常)(ans 是密码应该有多少个字符,但它在 20 到 25 之间波动)
在这里输出:
“LeIZuGpBtd(Gcr&kE$x(
%d2jmuXHQef5dr*D9(广告
)9Bvrvo0*Rj(3hVDnjtH
6%u@g#cQ8Oj(NrsXlZrR
xe!Xsggn4%(!gfZ2fVlN
l5&z1PLRX9Tiqy3LAEChP
f2kv$Q0lmJ8v5(4)Dtxj
hxm&lnxd(H!3T%YNLLAQ
viea7ct@7RLRTV6yybVf
dx$fsKIaBsxNWG(!HOQ7
eVPbX#yWMNKrdj(l&PAd
ZfhfY0&KkCz1245Nm*ZwC
LN@AFz1yDQcnX)HIb3Hbs
!YTTue!rTHGUo!BC5qY&
NYUoZFyN7$&tnJVNCVCs
r&(QT0vEXObFm^e0KIoe
oE^lLaz1m!FPpTAi9sZpU
KNugxKI)6xeqZbGnNBta_______”
告诉为什么
我什么都没尝试,因此什么也没期待
回复
我来回复-
Arthur King 评论
看起来您想根据众所周知的字符列表创建许多伪随机密码。您要指定每个密码的长度和要生成的密码数量。如果是这样的话:
import random characterlist = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "!", "*", "&", "@", "$", "%", "^", "(", ")", "#", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "N", "O", "P", "Q", "R", "X", "T", "U", "V", "W", "X", "Y", "Z"] length = 10 number = 100 def password(length): return ''.join(random.choice(characterlist) for _ in range(length)) with open('passwords.txt', 'w') as outfile: for _ in range(number): print(password(length), file=outfile)
2年前