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

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

本文介绍如何使用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 相关产品和应用

全部下载

专题列表