当前位置:首页>python>Python教程(38)随机密码生成器 —— 列表的更多用法

Python教程(38)随机密码生成器 —— 列表的更多用法

  • 2026-10-11 05:51:42
Python教程(38)随机密码生成器 —— 列表的更多用法

你好,我是雨霖八珞,同名B站UP主。关注合集不迷路。以下内容为个人教学,真诚分享,欢迎交流。

前面我们已经学习了列表不少的案例,更加清晰了它的使用场景。

今天我们来做一个实用的工具 —— 随机密码生成器。

通过这个案例,我们会发现:有些场景用列表合适,有些场景用字符串更简单。


先想想:密码由什么组成?

一个密码通常包含这几类字符:

  • 数字:0-9

  • 小写字母:a-z

  • 大写字母:A-Z

  • 特殊符号:!@#$%^&*

用列表把这些字符存起来,然后随机抽取,拼成一个密码。

版本1:最简单的密码

最直接的做法:

把所有可能的字符放进一个列表,然后用 random.choice() 随机取字符拼接成密码。

程序代码如下:

运行结果如下:【每次运行都会不一样】

版本2:让用户决定密码长度

还可以增加交互性,让用户决定密码长度。
程序代码如下:

运行结果如下:

版本3:随机抽取多个不重复的字符

还可以进一步设计,随机抽取多个不重复的字符。

思路1:每次在列表中随机抽一个字符,然后在列表中删掉该字符,下一次就不会抽到这个字符了

思路2:将原始列表随机打乱,取打乱后列表的前面指定个数的字符

显然,第二种思路更简单

程序代码如下:

运行结果如下:【每次运行结果不一样】

有什么问题?

用列表可以解决很多问题,但在本文的案例中, 每个字符都要加引号和逗号,写起来很啰嗦。62个字符就要写62个带引号的元素。

下面是版本1的字符串修改版:

看到没,列表版写了70个带引号和逗号的元素,字符串版只写了一行。差距一目了然。因为字符集本身就是一个字符串,不需要放进列表里。

下面是版本3的字符串修改版:

可以看到,同样的事情,字符串的写法更简洁。

字符串的用法和列表非常相似,列表的基本用法掌握了,字符串学起来就会轻松很多。

从下一篇开始,我们开始学习字符串。

本公众号内容均为原创。如需转载或引用,请先联系我。谢谢你的尊重。

觉得不错的话,伙伴们记得关注、在看、转发和点赞哈!

最新文章

随机文章