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