第 0001 题: 做为 Apple Store App 独立开发者,你要搞限时促销,
为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)?**
#解题思路问题细化:
激活码就是随机字符串:
#主要参数是:激活码的位数digit,激活码的个数n
#从包括大写字母\小写字母和数字,中随机选取
#格式举例:M8dwPqIa1fWc
import string
import random
#一.无重复字符的随机激活码
def coupon_creator(digit,n):#参数是激活码的位数和激活码个数
for i in range(n):
coupon =''.join(random.sample(string.ascii_letters + string.digits,digit))
yield coupon
#二.不限定重复字符的随机激活码
def random_str(digit,n):#参数是激活码的位数和激活码个数
# randletter=''
# for i in range(n):
# for j in range(digit):
# randletter += random.choice(string.ascii_letters + string.digits)
for i in range(n):
randletter=''.join(random.choice(string.ascii_letters + string.digits) for j in range(digit))
yield randletter
#延伸练习:生成随机列表
def randlist(digit,n):
for i in range(n):
randlist=random.sample(string.ascii_letters + string.digits,digit)
yield randlist
def rand_num_list(digit,n):
for i in range(n):
rand_num_list=[]
for j in range(digit):
rand_num_list.append(random.randrange(1000))
yield rand_num_list
if __name__ == '__main__':
for i in coupon_creator(12,3):
print(i)
for j in random_str(12,3):
print(j)
for k in randlist(12,3):
print(k)
for l in rand_num_list(12,2):
print(l)
huibif的学习笔记