密码生成器
Zee 嘿,指挥部发了一份关于密码安全的备忘录,里面专门点名了我。太尴尬了。你能做一个小型的密码生成器吗?我输入长度,选择是否包含数字和符号,它就生成一个我可以实际使用的密码。看来给所有账户都用 "password123" 确实不是个好主意……
你要构建什么
Password length: 12
Include numbers? (y/n): y
Include symbols? (y/n): y
Generated: k7#mP9xQ!2aL你将需要
提示
先构建字符池。 从一个空的允许字符列表开始。始终添加字母,然后根据用户的选择有条件地添加数字或符号。
string 模块能省事。 它为你准备好了现成的字符串:string.ascii_letters、string.digits、string.punctuation。无需手动输入。
先挑选,再拼接。 使用 random.choice() 一次挑选一个字符,按照用户要求的长度重复操作,然后将结果连接成一个字符串。
进一步探索
基础的生成器跑通之后:
- 确保规则生效。 如果用户要求包含数字,确保结果中至少出现一个数字。符号同理。纯随机挑选可能会漏掉它们。
- 批量生成。 让用户一次性请求多个密码,并全部显示出来。
- 强度指示器。 生成后,打印一个简短的评级:弱(仅字母)、中(字母 + 数字)、强(字母 + 数字 + 符号)。

