Skip to content

Commit 2657765

Browse files
author
wangxx
committed
pep8 style
1 parent 6d3cc7f commit 2657765

File tree

10 files changed

+184
-67
lines changed

10 files changed

+184
-67
lines changed

AK-wang/0001/key_gen.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,37 @@
11
#!/usr/bin/env python
2+
# -*-coding:utf-8-*-
3+
4+
# 第 0001 题:做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),
5+
# 使用 Python 如何生成 200 个激活码(或者优惠券)?
26

37
import string
48
import random
59

610
KEY_LEN = 20
711
KEY_ALL = 200
812

13+
914
def base_str():
10-
return (string.letters+string.digits)
15+
return (string.letters + string.digits)
16+
1117

12-
def key_gen():
18+
def key_gen():
1319
keylist = [random.choice(base_str()) for i in range(KEY_LEN)]
1420
return ("".join(keylist))
1521

16-
def key_num(num,result=None):
22+
23+
def key_num(num, result=None):
1724
if result is None:
1825
result = []
1926
for i in range(num):
2027
result.append(key_gen())
2128
return result
2229

30+
2331
def print_key(num):
2432
for i in key_num(num):
2533
print i
2634

35+
2736
if __name__ == "__main__":
2837
print_key(KEY_ALL)
29-

AK-wang/0001/key_gen_deco.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,41 @@
11
#!/usr/bin/env python
2-
#-*-coding:utf-8-*-
2+
# -*-coding:utf-8-*-
33

4-
"""
5-
第 0001 题:做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)?
6-
"""
4+
# 第 0001 题:做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),
5+
# 使用 Python 如何生成 200 个激活码(或者优惠券)?
76

87
import string
98
import random
109

1110
KEY_LEN = 20
1211
KEY_ALL = 200
1312

13+
1414
def base_str():
1515
return (string.letters+string.digits)
1616

17-
def key_gen():
17+
18+
def key_gen():
1819
keylist = [random.choice(base_str()) for i in range(KEY_LEN)]
1920
return ("".join(keylist))
2021

22+
2123
def print_key(func):
2224
def _print_key(num):
2325
for i in func(num):
2426
print i
2527
return _print_key
2628

29+
2730
@print_key
28-
def key_num(num,result=None):
31+
def key_num(num, result=None):
2932
if result is None:
3033
result = []
3134
for i in range(num):
3235
result.append(key_gen())
3336
return result
3437

38+
3539
if __name__ == "__main__":
36-
#print_key(KEY_ALL)
40+
# print_key(KEY_ALL)
3741
key_num(KEY_ALL)

AK-wang/0002/save_key.py

Lines changed: 56 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,53 @@
11
#!/usr/bin/env python
2-
#-*-coding:utf-8-*-
2+
# -*-coding:utf-8-*-
3+
4+
# 第 0002 题:将 0001 题生成的 200 个激活码(或者优惠券)保存到 MySQL 关系型数据库中。
35

4-
"""
5-
第 0002 题:将 0001 题生成的 200 个激活码(或者优惠券)保存到 MySQL 关系型数据库中。
6-
"""
76
import MySQLdb
87
import string
98
import random
109

1110
KEY_LEN = 20
1211
KEY_ALL = 200
1312

13+
1414
def base_str():
15-
return (string.letters+string.digits)
15+
return (string.letters + string.digits)
16+
1617

1718
def key_gen():
1819
keylist = [random.choice(base_str()) for i in range(KEY_LEN)]
1920
return ("".join(keylist))
2021

21-
def key_num(num,result=None):
22+
23+
def key_num(num, result=None):
2224
if result is None:
2325
result = []
2426
for i in range(num):
2527
result.append(str(key_gen()))
2628
return result
2729

30+
2831
class mysql_init(object):
2932

30-
def __init__(self,conn):
33+
def __init__(self, conn):
3134
self.conn = None
3235

33-
#connect to mysql
36+
# connect to mysql
3437
def connect(self):
3538
self.conn = MySQLdb.connect(
36-
host = "localhost",
37-
port = 3306,
38-
user = "root",
39-
passwd = "123456",
40-
db = "test",
41-
charset = "utf8"
42-
)
39+
host="localhost",
40+
port=3306,
41+
user="root",
42+
passwd="123456",
43+
db="test",
44+
charset="utf8"
45+
)
4346

4447
def cursor(self):
4548
try:
4649
return self.conn.cursor()
47-
except (AttributeError,MySQLdb.OperationalError):
50+
except (AttributeError, MySQLdb.OperationalError):
4851
self.connect()
4952
return self.conn.cursor()
5053

@@ -53,48 +56,76 @@ def commit(self):
5356

5457
def close(self):
5558
return self.conn.close()
56-
59+
60+
5761
def process():
5862
dbconn.connect()
59-
conn=dbconn.cursor()
63+
conn = dbconn.cursor()
6064
DropTable(conn)
6165
CreateTable(conn)
6266
InsertDatas(conn)
6367
QueryData(conn)
6468
dbconn.close()
6569

66-
def query(sql,conn):
70+
# def execute(sql):
71+
# '''执行sql'''
72+
# conn=dbconn.cursor()
73+
# conn.execute(sql)
74+
75+
# def executemany(sql, tmp):
76+
# '''插入多条数据'''
77+
# conn=dbconn.cursor()
78+
# conn.executemany(sql,tmp)
79+
80+
81+
def query(sql, conn):
82+
'''查询sql'''
83+
# conn=dbconn.cursor()
6784
conn.execute(sql)
6885
rows = conn.fetchall()
6986
return rows
7087

88+
7189
def DropTable(conn):
90+
# conn=dbconn.cursor()
7291
conn.execute("DROP TABLE IF EXISTS `user_key`")
73-
92+
93+
7494
def CreateTable(conn):
75-
sql_create =''' CREATE TABLE `user_key` (`key` varchar(50) NOT NULL)'''
95+
# conn=dbconn.cursor()
96+
sql_create = ''' CREATE TABLE `user_key` (`key` varchar(50) NOT NULL)'''
7697
conn.execute(sql_create)
7798

99+
78100
def InsertDatas(conn):
101+
# conn=dbconn.cursor()
102+
# insert_sql = "insert into user_key values(%s)"
79103
insert_sql = "INSERT INTO user_key VALUES (%(value)s)"
80104
key_list = key_num(KEY_ALL)
81-
conn.executemany(insert_sql,[dict(value=v) for v in key_list])
105+
# print len(key_list)
106+
# conn.executemany(insert_sql,str(key_listi))
107+
# conn.executemany("INSERT INTO user_key VALUES (%(value)s)",
108+
# [dict(value=v) for v in key_list])
109+
conn.executemany(insert_sql, [dict(value=v) for v in key_list])
110+
82111

83112
def DeleteData():
84113
del_sql = "delete from user_key where id=2"
85114
execute(del_sql)
86115

116+
87117
def QueryData(conn):
88118
sql = "select * from user_key"
89-
rows = query(sql,conn)
119+
rows = query(sql, conn)
90120
printResult(rows)
91121

122+
92123
def printResult(rows):
93124
if rows is None:
94125
print "rows None"
95126
for row in rows:
96127
print row
97128

98129
if __name__ == "__main__":
99-
dbconn = mysql_init(None)
100-
process()
130+
dbconn = mysql_init(None)
131+
process()

AK-wang/0003/save_to_redis.py

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,48 @@
11
#!/usr/bin/env python
2-
#-*-coding:utf-8-*-
2+
# -*-coding:utf-8-*-
3+
4+
# 第 0003 题:将 0001 题生成的 200 个激活码(或者优惠券)保存到 Redis 非关系型数据库中。
35

4-
"""
5-
第 0003 题:将 0001 题生成的 200 个激活码(或者优惠券)保存到 Redis 非关系型数据库中。
6-
"""
76
import string
87
import random
9-
import redis
8+
import redis
109

1110
KEY_LEN = 20
1211
KEY_ALL = 200
1312

13+
1414
def base_str():
15-
return (string.letters+string.digits)
15+
return (string.letters + string.digits)
16+
1617

1718
def key_gen():
1819
keylist = [random.choice(base_str()) for i in range(KEY_LEN)]
1920
return ("".join(keylist))
2021

21-
def key_num(num,result=None):
22+
23+
def key_num(num, result=None):
2224
if result is None:
2325
result = []
2426
for i in range(num):
2527
result.append(key_gen())
2628
return result
2729

30+
2831
def redis_init():
2932
r = redis.Redis(host='localhost', port=6379, db=0)
3033
return r
3134

35+
3236
def push_to_redis(key_list):
3337
for key in key_list:
34-
redis_init().lpush('key',key)
38+
redis_init().lpush('key', key)
39+
3540

3641
def get_from_redis():
37-
key_list = redis_init().lrange('key',0,-1)
42+
key_list = redis_init().lrange('key', 0, -1)
3843
for key in key_list:
3944
print key
4045

4146
if __name__ == "__main__":
4247
push_to_redis(key_num(200))
4348
get_from_redis()
44-
45-

AK-wang/0004/0004.py

100644100755
Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,24 @@
11
#!/usr/bin/env python
2+
# -*-coding:utf-8-*-
23

3-
import collections
4+
# 第 0004 题:任一个英文的纯文本文件,统计其中的单词出现的个数
5+
6+
from collections import Counter
47
import re
58

6-
def wc(filename):
9+
10+
def creat_list(filename):
711
datalist = []
8-
with open(filename,'r') as f:
12+
with open(filename, 'r') as f:
913
for line in f:
10-
content = re.sub("\"|,|\.","",line)
11-
datalist.extend(content.strip().split(' '))
12-
#print datalist
13-
print collections.Counter(datalist)
14+
content = re.sub("\"|,|\.", "", line)
15+
datalist.extend(content.strip().split(' '))
16+
return datalist
17+
18+
19+
def wc(filename):
20+
print Counter(creat_list(filename))
1421

1522
if __name__ == "__main__":
16-
filename = 'test.txt'
23+
filename = 'test.txt'
1724
wc(filename)

AK-wang/0004/test.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
In the latest move to support the economy,
2+
Shanghai, Beijing, Chongqing and six other provinces and municipalities will allow banks to refinance high-quality credit assets rated by the People's Bank of China,
3+
said the central bank, as the program was first introduced in Guangdong and Shandong provinces last year.
4+

AK-wang/0006/key_word.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,31 @@
11
#!/usr/bin/env python
2+
# -*-coding:utf-8-*-
3+
4+
# 第 0006 题:你有一个目录,放了你一个月的日记,都是 txt,为了避免分词的问题,假设内容都是英文,请统计出你认为每篇日记最重要的词。
25

36
import glob
47
from collections import Counter
58
import re
69

10+
711
def list_txt():
812
return glob.glob("*.txt")
913

14+
1015
def wc(filename):
1116
datalist = []
12-
with open(filename,'r') as f:
17+
with open(filename, 'r') as f:
1318
for line in f:
14-
content = re.sub("\"|,|\.","",line)
15-
datalist.extend(content.strip().split(' '))
16-
#print datalist
19+
content = re.sub("\"|,|\.", "", line)
20+
datalist.extend(content.strip().split(' '))
21+
# print datalist
1722
return Counter(datalist).most_common(1)
1823

24+
1925
def most_comm():
2026
for txt in list_txt():
21-
print wc(txt)
27+
print wc(txt)
2228

2329
if __name__ == "__main__":
24-
most_comm()
30+
# most_comm()
31+
print map(wc, list_txt())

0 commit comments

Comments
 (0)