Python练习2-随机数产生
第 0001 题:做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)?
这道题主要用来熟悉Python的随机函数,用到了random模块,大家可以参考Python中的random模块
至于做题中遇到的坑,源文件在命名的时候用了random,导致使用random模块的函数时一直运行错误,Python中的模块其实就是一个含有.py文件的文件夹,所以大家最好不要将自己的文件名与Python的模块命名相同
以下是练习代码
#coding=utf-8
import random
#所有随机码长度均为8的整数倍
#random.randint 产生纯数字随机码
def randint_gen(len=16):
if(len%8):
return 0
key=[]
for i in range(len):
if(i%4==0 and i):
key.append('-')
key.append(str(random.randint(0, 9)))
out="".join(key)
print out
#rnadom.randrange 产生纯数字随机码
def randrange_gen(len=16):
if (len % 8):
return 0
key = []
for i in range(len/2):
if (i % 2 == 0 and i):
key.append('-')
key.append(str(random.randrange(10, 100,2)))
out = "".join(key)
print out
#random.shuffle 产生定长随机列表
def randshuffle_gen():
list = [i for i in range(10)]
for i in range(ord('a'), ord('z') + 1):
list.append(chr(i))
for i in range(ord('A'), ord('Z') + 1):
list.append(chr(i))
random.shuffle(list)
return list
#random.choice 产生字母数字随机码
def randchoice_gen(len=16):
if(len%8):
return 0
key=[]
list=randshuffle_gen()
for i in range(len):
if(i%4==0 and i):
key.append('-')
key.append(str(random.choice(list)))
out="".join(key)
print out
if __name__=='__main__':
randint_gen()
randrange_gen()
randchoice_gen()
print randshuffle_gen()

浙公网安备 33010602011771号