[python每日一练]--0003:统计文档内的单词个数并存放到redis数据库

题目链接:https://github.com/Show-Me-the-Code/show-me-the-code
我的github链接:https://github.com/wjsaya/python_spider_learn/tree/master/python_daily
第 0003 题:将 0001 题生成的 200 个激活码(或者优惠券)保存到 Redis 非关系型数据库中。


思路

  1. 循环,在count条件内调用length的循环来生成key。
  2. 内循环,length条件下随机生成一个字符并追加到code变量。
  3. 得到一个key之后,保存到redis数据库

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#coding: utf-8
#**第 0003 题:**将 0001 题生成的 200 个激活码(或者优惠券)保存到 Redis 非关系型数据库中。
#Auther: wjsaya
from random import choice
import string
import redis
def get_code(dict, length, count):
#根据给定字典,长度来得出激活码
for i in range(1,int(count)+1):
code = ""
#通过count限制激活码个数,循环调用choice来计算激活码
for l in range(0,int(length)):
code = code+str(choice(dict))
save_to_redis(count, code)
def save_to_redis(max, value):
#保存到redis数据库
redisdb = redis.Redis(host='10.2.2.131',port=6379,db=0)
redisdb.lpush('active_code',value)
redisdb.lrange('active_code',0,max)
redisdb.save()
if __name__ == "__main__":
dict = string.ascii_letters[:]
#设定字典为'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
count = input("请输入激活码个数:")
if count == "":
count = "1"
length = input("请输入激活码长度:")
if length == "":
length = "8"
get_code(dict, length, count)

效果图

0003-1

0003-2

0%