Python生成指定数量不重复优惠码的完整代码示例

Ivy
Ivy
发布时间:2026-10-13| 6人浏览过
原创

本文介绍如何使用Python生成指定数量和长度的不重复优惠码。通过导入random和string模块,结合set数据结构自动去重的特性,确保生成的优惠码唯一。文中提供了完整的Python代码示例,包括参数配置、字符集获取及生成逻辑,适合需要批量生成唯一标识符的开发场景。

Python生成指定数量不重复优惠码

Python生成指定数量不重复优惠码

环境准备与文件创建

在Python开发环境IDLE中,新建一个名为'codeGen.py'的文件,并将其保存。

导入所需模块

导入所需的模块:random和string,具体代码如下:

模块导入代码


import string

import random

配置生成参数

假设需要生成200个长度为10的优惠码,这些参数在实际应用中可以作为变量传入。

参数配置代码


CODE_COUNT = 200

CODE_LEN =10

构建字符集函数

设计的优惠码由字母和数字组成,通过以下函数获取所有字母和数字,注意字母区分大小写。

字符集函数代码


def strall():

  return (string.ascii_letters+string.digits)

string.ascii_letters是python3的写法,python2是string.letters

生成不重复优惠码逻辑

生成优惠码时,使用set()来去除重复项。由于10个字符的组合容易产生重复,利用set不会添加重复数据的特性,可以确保生成200个不重复的优惠码。

优惠码生成函数代码


def codeGen():

  CodeSet = set()

  while len(CodeSet) < CODE_COUNT:

    code = ''.join([random.choice(strall()) for i in range(CODE_LEN)])

    CodeSet.add(code)

  return CodeSet

优化建议

建议将strall()函数单独提取出来并用变量保存,以避免每次循环都执行一次该函数,提高代码效率。

完整代码示例

编写程序入口,调用优惠码生成函数并打印出所有生成的优惠码,完整代码如下:

完整代码


import string

import random



#假设需要生成200个,长度为10的优惠码




CODE_COUNT = 200

CODE_LEN =10







def strall():

  return (string.ascii_letters+string.digits)




def codeGen():

  CodeSet = set()

  while len(CodeSet) < CODE_COUNT:

    code = ''.join([random.choice(strall()) for i in range(CODE_LEN)])

    CodeSet.add(code)

  return CodeSet




if __name__ == '__main__':

  

  print (codeGen())

运行结果

按F5运行程序,即可打印出200个优惠码。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。