写一段随机生成密码的python代码要求密码必须至少包含 8 个字符,至少要有 数字、小写字母、大写字母、符号中的三种。
时间: 2023-04-09 19:01:47 浏览: 227
python随机生成大小写字母数字混合密码(仅20行代码)
5星 · 资源好评率100%
以下是随机生成密码的 Python 代码:
```python
import random
import string
def generate_password():
length = 8
lower = string.ascii_lowercase
upper = string.ascii_uppercase
digits = string.digits
symbols = string.punctuation
# 从每个字符集中随机选择至少一个字符
password = random.choice(lower) + random.choice(upper) + random.choice(digits) + random.choice(symbols)
# 从所有字符集中随机选择剩余字符
password += ''.join(random.choices(lower + upper + digits + symbols, k=length-4))
# 将密码中的字符随机排序
password_list = list(password)
random.shuffle(password_list)
password = ''.join(password_list)
return password
print(generate_password())
```
该代码使用了 Python 的 `random` 和 `string` 模块,首先定义了密码的长度和四个字符集(小写字母、大写字母、数字、符号)。然后从每个字符集中随机选择至少一个字符,再从所有字符集中随机选择剩余字符,最后将密码中的字符随机排序。最终生成的密码满足要求:至少包含 8 个字符,至少要有数字、小写字母、大写字母、符号中的三种。
阅读全文