博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

使用 random() 生成礼包码

Posted on 2018-11-15 21:46  鱼儿爸  阅读(673)  评论(0)    收藏  举报

需求:生成100个游戏礼包码

具体如下

1 # 1.构造100个5位随机数
2 
3 listNumA = []
4 for n in range(100):
5     listNumA.append(random.randint(10000, 99999))
1 # 2.对上述100个筛除重复值
2 
3 listNumB = list(set(listNumA))  # 将得到的list赋值给新的list,避免后序的for循环中,每次进行set操作,导致速度很慢
4 for n in range(100):
5     print(listNumB[n])  # 此处已经可以看到不重复的输出了
1 # 3.将结果输出到文本
2 
3 with open('giftCode.txt', 'a+') as f:
4     for n in range(100):
5         f.write(str(listNumB[n]) + '\n')
1 # 4.实际工作中发现,纯数字在多次添加时,可能导致重复,建议在每次的giftCode前面添加字母,如'AA','AB',以此类推
2 # 修改第二段
3 
4 listNumB = list(set(listNumA))
5 char = 'AA'
6 for n in range(100):
7     print(char + listNumB[n])

 

所以,最后的完整代码如下:

 1 #! coding: utf-8
 2 import random
 3 
 4 listNumA = []
 5 for n in range(100):
 6     listNumA.append(random.randint(10000, 99999))
 7 
 8 listNumB = list(set(listNumA))
 9 char = 'AA'
10 
11 with open('giftCode.txt', 'a+') as f:
12     for n in range(100):
13         f.write(char + str(listNumB[n]) + '\n')