题目链接
https://github.com/Yixiaohan/show-me-the-code?utm_source=wechat_session&utm_medium=social&utm_oi=722728239742615552
0001
做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)?
#随机生成激活码
#未考虑重复码,数字出现1/5概率,大小写字母各2/5
import random
def generate_code(code_len = 6):
all_nums = '0123456789'
all_a = 'abcdefghijklmnopqrstuvwxyz'
all_A = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
code = ''
for i in range(0,code_len):
num = random.randint(1,6)
if(num == 1):
index = random.randint(0, len(all_nums)-1)
code += all_nums[index] #数字
elif(num == 2 or num == 3):
index = random.randint(0, len(all_a)-1)
code += all_a[index] #小写字母
else:
index = random.randint(0, len(all_A)-1)
code += all_A[index] #大写字母
return code
for i in range(200):
print(generate_code())
0002
将 0001 题生成的 200 个激活码(或者优惠券)保存到 MySQL 关系型数据库中。
import pymysql
def connDB():#连接函数
conn = pymysql.connect(host='localhost',user='root',passwd='root',db='python_pachong',charset='utf8')
cur = conn.cursor()
return (conn,cur)
def connClose(conn,cur): #关闭连接函数
cur.close()
conn.close()
connDB1 = connDB()
sql1 = 'insert into jihuo_code (code) values '
for i in range(200):
sql = sql1 + '("'+ generate_code() + '")'
connDB1[1].execute(sql)
connDB1[0].commit()
connClose(connDB1[0],connDB1[1])
0004
任一个英文的纯文本文件,统计其中的单词出现的个数。
#0004
import re
f = open("data.txt","r") #本文件下的txt
str = f.read()
f.close()
count = 0
word = re.compile(r'''([a-zA-Z]+ )|([a-zA-Z]+.)|([a-zA-Z]+,)''') #正则匹配
mylist = re.findall(word, str)
for temp in word.finditer(str): #输出匹配到的单词
print(temp.group())
count = count+1
print (count)