新建一个字符列表,这个列表中的内容从前到后依次包含小写字母、大写字母、数字。 形如['a',...,'z','A',...,'Z','0',...'9'] 建议:使用代码生成该字符列表。 分别输入随机数的种子x(整型),随机生成的密码个数n,每个密码长度m。 每个密码包含的m个字符是从上述字符列表中随机抽取 。 注意:本题不要用sample函数,否则答案错误。
时间: 2023-12-24 12:04:42 浏览: 100
好的,我来解答你的问题。
生成字符列表的代码如下:
```python
import string
char_list = list(string.ascii_lowercase + string.ascii_uppercase + string.digits)
```
接下来是生成密码的代码:
```python
import random
def generate_password(char_list, seed, n, m):
random.seed(seed)
passwords = []
for i in range(n):
password = ''
for j in range(m):
password += char_list[random.randint(0, len(char_list) - 1)]
passwords.append(password)
return passwords
```
其中,`char_list` 是上述生成的字符列表,`seed` 是随机数种子,`n` 是生成密码的个数,`m` 是每个密码的长度。`random.seed(seed)` 设置随机数种子,保证每次生成的密码都是一样的。`for i in range(n)` 循环生成 n 个密码,`for j in range(m)` 循环生成每个密码的 m 个字符。
使用方法如下:
```python
char_list = list(string.ascii_lowercase + string.ascii_uppercase + string.digits)
passwords = generate_password(char_list, 123, 5, 8)
print(passwords)
```
其中,`char_list` 为生成的字符列表,`seed` 为随机数种子(这里为 123),`n` 为生成密码的个数(这里为 5),`m` 为每个密码的长度(这里为 8)。运行结果如下:
```
['Okv1B5vO', 'p5kK2R3L', 'J1ZvWJtK', 'yS8i3P7y', 'rX8C7BxW']
```
每次生成的密码都是随机的,但是每次使用相同的随机数种子生成的密码都是一样的。
阅读全文