问个题目求大佬解答
这是题目:以2024为种子在大小写字母和数字组成的列表中随机生成10个n位密码,n由用户指定。这是我的答案:
from random import *
key="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
seed(2024)
n=int(input(""))
for t in range(10):
k=""
for j in range(n):
k+=choice(key)
print()
输出结果是这样的:
ubKBjcUK
qMJMgyfE
QLvmqxKD
ZdjyJlx4
KNTdIMKt
XJRTF9yd
Tq3NmEqt
7KL8Mkol
m0ckrqkA
dVTqed2L
但是样例输出是这样的:
['ubKBjcUK','qMJMgyfE','QLvmqxKD','ZdjyJlx4','KNTdIMKt','XJRTF9yd','Tq3NmEqt','7KL8Mkol','m0ckrqkA','dVTqed2L']
我该怎么改让他变成样例输出这种列表输出呢? 你的代码基本上是正确的,只是在最后输出密码时出了点小问题。你可以将你代码中的`print()`改为`print(k)`,这样就可以输出生成的密码了。修改后的代码如下:
from random import *
key = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
seed(2024)
n = int(input("请输入密码长度:"))
for t in range(10):
k = ""
for j in range(n):
k += choice(key)
print(k)
这样运行后就能得到类似于样例输出的结果了。希望能帮到你!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 本帖最后由 jackz007 于 2024-4-11 16:15 编辑
from random import *
key = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
seed(2024)
n = int(input())
d = []
for t in range(10):
k = ''
for j in range(n):
k += choice(key)
d . append(k)
print(d)
使用列表推导式可以进一步简化代码:
from random import *
key="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
seed(2024)
n = int(input())
d = ['' . join() for t in range(10)]
print(d)
页:
[1]