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()


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章