Python练习2-随机数产生

来源:互联网 发布:网络社交的利与弊论点 编辑:程序博客网 时间:2024/06/05 21:55

第 0001 题:做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)?


这道题主要用来熟悉Python的随机函数,用到了random模块,大家可以参考Python中的random模块

  至于做题中遇到的坑,源文件在命名的时候用了random,导致使用random模块的函数时一直运行错误,Python中的模块其实就是一个含有.py文件的文件夹,所以大家最好不要将自己的文件名与Python的模块命名相同

以下是练习代码

#coding=utf-8import 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 outif __name__=='__main__':    randint_gen()    randrange_gen()    randchoice_gen()    print randshuffle_gen()


原创粉丝点击