Python 練習(xí)冊(cè)贵涵,每天一個(gè)小程序,原題來(lái)自Yixiaohan/show-me-the-code
我的代碼倉(cāng)庫(kù)在Github
目標(biāo)
做為 Apple Store App 獨(dú)立開(kāi)發(fā)者帐要,你要搞限時(shí)促銷亚亲,為你的應(yīng)用生成激活碼(或者優(yōu)惠券)纺阔,使用 Python 生成 200 個(gè)激活碼(或者優(yōu)惠券)衔峰,并將激活碼保存到 Redis 非關(guān)系型數(shù)據(jù)庫(kù)中屑彻。
解決方案
該題目采用 python 中的 Redis
模塊 來(lái)連接操作Redis
數(shù)據(jù)庫(kù)撞蚕,代碼如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 將0001題目中隨機(jī)生成的驗(yàn)證碼保存到Redis 數(shù)據(jù)庫(kù)
import uuid
import redis
# 生成 num 個(gè)驗(yàn)證碼润梯,每個(gè)長(zhǎng)度為length,可設(shè)置默認(rèn)長(zhǎng)度
def create_num(num, length=16):
result = []
while num > 0:
uuid_id = uuid.uuid4()
# 刪去字符串中的'-',取出前l(fā)ength 個(gè)字符
temp = str(uuid_id).replace('-', '')[:length]
if temp not in result:
result.append(temp)
num -= 1
return result
# 保存到Redis數(shù)據(jù)庫(kù)
def save_to_redis(num_list):
r = redis.Redis(host='localhost', port=6379, db=0)
for code in num_list:
r.lpush('code', code)
save_to_redis(create_num(200))