鱼C论坛

 找回密码
 立即注册
查看: 123|回复: 2

[已解决]问个题目求大佬解答

[复制链接]
发表于 2024-4-11 15:38:34 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
这是题目:以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([k])

输出结果是这样的:
ubKBjcUK
qMJMgyfE
QLvmqxKD
ZdjyJlx4
KNTdIMKt
XJRTF9yd
Tq3NmEqt
7KL8Mkol
m0ckrqkA
dVTqed2L

但是样例输出是这样的:
['ubKBjcUK','qMJMgyfE','QLvmqxKD','ZdjyJlx4','KNTdIMKt','XJRTF9yd','Tq3NmEqt','7KL8Mkol','m0ckrqkA','dVTqed2L']

我该怎么改让他变成样例输出这种列表输出呢?
最佳答案
2024-4-11 16:13:57
本帖最后由 jackz007 于 2024-4-11 16:15 编辑
  1. from random import *
  2. key = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
  3. seed(2024)
  4. n = int(input())
  5. d = []
  6. for t in range(10):
  7.     k = ''
  8.     for j in range(n):
  9.         k += choice(key)
  10.     d . append(k)
  11. print(d)
复制代码

        使用列表推导式可以进一步简化代码:
  1. from random import *
  2. key="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
  3. seed(2024)
  4. n = int(input())
  5. d = ['' . join([choice(key) for j in range(n)]) for t in range(10)]
  6. print(d)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-4-11 15:38:55 | 显示全部楼层
你的代码基本上是正确的,只是在最后输出密码时出了点小问题。你可以将你代码中的`print()`改为`print(k)`,这样就可以输出生成的密码了。修改后的代码如下:

  1. from random import *

  2. key = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
  3. seed(2024)
  4. n = int(input("请输入密码长度:"))
  5. for t in range(10):
  6.     k = ""
  7.     for j in range(n):
  8.         k += choice(key)
  9.     print(k)
复制代码


这样运行后就能得到类似于样例输出的结果了。希望能帮到你!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-4-11 16:13:57 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2024-4-11 16:15 编辑
  1. from random import *
  2. key = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
  3. seed(2024)
  4. n = int(input())
  5. d = []
  6. for t in range(10):
  7.     k = ''
  8.     for j in range(n):
  9.         k += choice(key)
  10.     d . append(k)
  11. print(d)
复制代码

        使用列表推导式可以进一步简化代码:
  1. from random import *
  2. key="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
  3. seed(2024)
  4. n = int(input())
  5. d = ['' . join([choice(key) for j in range(n)]) for t in range(10)]
  6. print(d)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-1 01:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表