python假设某系统有5个用户,已将每个用户的用户名保存在列表中,请编程为每个用户随机生成一个8位的初始密码,它由26个小写字母和0-9的数字组成,随机函数的初始化种子由用户从键盘输入。要求更新原用户名的列表,将用户名和随机生成的密码组成的元组对保存在列表中
时间: 2023-06-05 08:08:08 浏览: 75
好的,我可以帮你解决这个问题。先来看一下代码:
```python
import random
# 输入随机函数种子
seed = input("请输入随机函数种子:")
# 用户名列表
users = ["User1", "User2", "User3", "User4", "User5"]
# 生成每个用户的随机密码并保存在列表中
passwords = []
for user in users:
password = "".join(random.sample("abcdefghijklmnopqrstuvwxyz0123456789", 8))
passwords.append(password)
print(f"{user} 的密码是 {password}")
# 将用户名和密码组成的元组对保存在列表中
user_passwords = list(zip(users, passwords))
print(user_passwords)
```
以上代码中,我们首先输入随机函数的种子,然后定义了用户名的列表。接下来使用 `random.sample()` 函数生成每个用户的随机密码,并将它们保存在 `passwords` 列表中。然后,将用户名和密码组成的元组对保存在 `user_passwords` 列表中。最后打印出这个列表以及每个用户的密码。
需要注意的是,我们使用了 `join()` 函数将每个随机生成的字符合并成一个8位的字符串。这个函数将一个字符列表合并成一个字符串,列表中的每个字符将按照指定的分隔符连接起来。我们将使用随机抽样函数 `random.sample()` 从包含所有小写字母和数字的列表中选取8个字符,并将它们合并成一个字符串。
另外,我们使用了 `zip()` 函数来将每个用户名与其对应的密码组成的元组对合并成列表。这个函数将多个列表合并成一个元组组成的列表,其中每个元组包含多个列表中相同下标位置的元素。在这个例子中,我们将 `users` 和 `passwords` 两个列表合并成了一个列表 `user_passwords`。
这样就完成了每个用户随机生成一个8位初始密码,并将用户名和随机生成的密码组成的元组对保存在列表中的操作。