笨蛋鹌鹑 发表于 2024-4-11 15:38:34

问个题目求大佬解答

这是题目:以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']

我该怎么改让他变成样例输出这种列表输出呢?

FishC 发表于 2024-4-11 15:38:55

你的代码基本上是正确的,只是在最后输出密码时出了点小问题。你可以将你代码中的`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:13:57

本帖最后由 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]
查看完整版本: 问个题目求大佬解答