标签:__name__ 个数 字符串 索引 append 一个 抽奖 asc tran
题目:一个商城在搞抽奖的活动,需要在搞活动的宣传单上印刷优惠卷的验证码,验证码规定20位,生成100个
先来个简单的,20位码中只取数字
import random def num_1(num): leng = 0 a = ‘‘ while leng < num: i = random.randint(0, 9) a += str(i) leng += 1 return a if __name__ == "__main__": list1 = [] num = 20 for i in range(100): list1.append(num_1(num)) print(list1)
再来个数字字母都取得,用到random模块的两种方法,分别验证
一、random.randint
import random import string def random_count(count): chars = string.ascii_letters + string.digits z = ‘‘ for i in range(count): j = random.randint(0, len(list(chars))-1) #获取随机数在0和char长度范围内,然后将char中j索引的字符添加到z中,执行该操作20次 z += list(chars)[j] return z if __name__ == "__main__": for i in range(100): print(random_count(20))
二、random.choice
import random import string chars = string.ascii_letters + string.digits def generate_code(count,length): z = "" for x in range(count): j = random.choice(chars) #获取chars中随机的字符,并将其追加到z,循环count次后得到结果 z += j return z if __name__ == "__main__": for i in range(100): print(generate_code(20,10))
后面做个汇总的,这个是生成后有连接符号的
import random import string #string.ascii_letters 26个大小写,string.digits 0-9数字 chars = string.ascii_letters + string.digits #获得激活码中的字母和数字组合 print(chars) def getRandom(): # 获得4位数激活码 return "".join(random.sample(chars, 4)) def concatenate(group):# 获得4列4位数激活码 以"-"串联 return "-".join([getRandom() for i in range(group)]) def generate(n):# 生成n组4列的16位激活码 return [concatenate(4) for i in range(n)] if __name__ == ‘__main__‘: print(getRandom()) print(concatenate(4)) print(generate(5))
标签:__name__ 个数 字符串 索引 append 一个 抽奖 asc tran
原文地址:https://www.cnblogs.com/pinpin/p/10412112.html