Python 在random.shuffle输出中设置最小/最大长度?

Python 在random.shuffle输出中设置最小/最大长度?,python,random,Python,Random,因此,为了使用我新学的python,我编写了一个随机密码的小工具 最终我得到了一个列表,比如说15个字符串。我要求编写它,以便用户可以输入他想要获得多少密码,以及密码的长度。-取而代之的是,我想问他最小和最大的len是多少,而不是一个集合len,并在我的结果中得到完整的范围 这就是我到目前为止所做的: items = ['5', '4', 'Y', 'T', 'R', 'E', 'h', 'g', 'f', 'd', '7', '1', '9', 'z', 'q', 'x'] x=int(ra

因此,为了使用我新学的python,我编写了一个随机密码的小工具

最终我得到了一个列表,比如说15个字符串。我要求编写它,以便用户可以输入他想要获得多少密码,以及密码的长度。-取而代之的是,我想问他最小和最大的len是多少,而不是一个集合len,并在我的结果中得到完整的范围

这就是我到目前为止所做的:

items = ['5', '4', 'Y', 'T', 'R', 'E', 'h', 'g', 'f', 'd', '7', '1', '9', 'z', 'q', 'x']

x=int(raw_input("how many passwords would you like?:"))
z=int(raw_input("how long would you like the password to be?:"))

print("the list of possible passwords you received is:")
for i in range (x):
    random.shuffle(items)
而输出将类似于:

TR1Eg47f9
5gRf9q7Ed
hxfE5gR4d
hE14x9Tz7
谢谢。

使用可以从列表中获得特定数量的项目。你可以这样做:

while len(items) < x:
    items += items
来自随机导入样本
打印(“”.join(示例(项目,x)))
问题是
x
不能大于项目长度。您可以先进行一些修复,重复列表中的项目,如下所示:

while len(items) < x:
    items += items
而len(项目)
您的要求有点不够明确。如果用户需要10个最小长度为5、最大长度为7的密码,则应生成多少个长度为5的密码?长度6中有多少?长度7中有多少?是否应该以某种特定的顺序生成这些项目?我是否可以在代码中的某个地方插入while len(items)部分?或者它不适用于我的洗牌,我必须去样本?洗牌将修改列表中的项目顺序,而样本将为您提供一个新列表,其中的项目数量由
x
指定。当您知道密码需要多长时间时,应执行
while len(items)
部分。