You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何随机选取字母、数字、符号等任意字符编写密码生成器

简易实现方法

你现在已经导入了string模块,这个模块本身就内置了数字、常用符号的现成常量,完全不用额外写复杂逻辑或者安装第三方库,只需要改1行代码就能实现全字符类型随机选取的需求,对新手非常友好:
首先你可以先了解string模块里和密码字符相关的3个内置常量:

  • string.ascii_letters:你当前代码正在使用的,包含所有大小写英文字母(a-z、A-Z)
  • string.digits:包含0-9的全部数字字符
  • string.punctuation:包含!"#$%&'()*+,-./:;<=>?@[\]^_{|}~`这类密码常用的特殊标点符号

你只需要把这三个字符串直接拼接起来,作为随机选取字符的候选池即可,和你原来写的代码逻辑完全兼容,不需要改动其他部分。
修改后的完整代码如下:

import random
import string

length = int(input("Enter the desired length of password: "))
# 拼接字母、数字、符号作为完整的候选字符集
values = string.ascii_letters + string.digits + string.punctuation
for i in range(length):
    char = random.choice(values)
    print(char, end="")

小补充:如果你的密码使用场景不支持部分特殊符号,可以手动调整候选池内容,比如把string.punctuation替换成你自己写的允许使用的符号字符串,例如"!@#$%^&*()"就只会选取这几个接受度最高的常用符号,调整起来非常灵活。

内容的提问来源于stack exchange,提问作者Hissan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 08:00:36