diff --git a/jasonlz/0000/add_element.py b/jasonlz/0000/add_element.py
new file mode 100755
index 00000000..2bd00358
--- /dev/null
+++ b/jasonlz/0000/add_element.py
@@ -0,0 +1,17 @@
+# coding=utf-8
+# 第 0000 题:将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。
+
+from PIL import Image, ImageDraw, ImageFont
+
+def add_num(image, num):
+ img = Image.open(image)
+ x,y = img.size
+ draw = ImageDraw.Draw(img)
+
+ afront = ImageFont.truetype('arial.ttf', x/4)
+ draw.text((3*x/4,0), str(num), (0,0,0), afront)
+ del draw
+ img.save('result.jpg')
+ img.show();
+if __name__ == '__main__':
+ add_num('profile.jpg',99)
\ No newline at end of file
diff --git a/jasonlz/0000/arial.ttf b/jasonlz/0000/arial.ttf
new file mode 100644
index 00000000..ff0815cd
Binary files /dev/null and b/jasonlz/0000/arial.ttf differ
diff --git a/jasonlz/0000/profile.jpg b/jasonlz/0000/profile.jpg
new file mode 100644
index 00000000..578eebf5
Binary files /dev/null and b/jasonlz/0000/profile.jpg differ
diff --git a/jasonlz/0000/result.jpg b/jasonlz/0000/result.jpg
new file mode 100644
index 00000000..968498e5
Binary files /dev/null and b/jasonlz/0000/result.jpg differ
diff --git a/jasonlz/0001/0001.py b/jasonlz/0001/0001.py
new file mode 100644
index 00000000..4111321a
--- /dev/null
+++ b/jasonlz/0001/0001.py
@@ -0,0 +1,19 @@
+# coding=utf-8
+# 第 0001 题:做为 Apple Store App 独立开发者,你要搞限时促销,
+# 为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)?
+import random, string
+
+def random_key(length=7):
+ con = string.digits + string.letters
+ s = [random.choice(con) for i in range(length)]
+ s = ''.join(s)
+ return s
+
+def save(number):
+ f = open('random_key.out','wd')
+ for i in range(number):
+ s = random_key();
+ f.write(str(s)+'\n')
+ f.close()
+if __name__ == '__main__':
+ save(200)
\ No newline at end of file
diff --git a/jasonlz/0001/random_key.out b/jasonlz/0001/random_key.out
new file mode 100644
index 00000000..ee4a2f27
--- /dev/null
+++ b/jasonlz/0001/random_key.out
@@ -0,0 +1,200 @@
+ixOc0LD
+BGuE0XD
+C7HaFRG
+0wxgh88
+bBlsMdm
+p8LNUej
+CgOMSTF
+09kMv0n
+NPhyUux
+ozGjrp0
+ZOomZRs
+9jCOhlM
+nCErYkB
+ddHJ0oU
+6gcf7G8
+5Tx6vT9
+u55W03r
+0mqSB8j
+P21Y1zC
+GbTO7dC
+rdiH0NA
+2VJ62LI
+agKZx8v
+8Bt4Yvy
+KhaUHUr
+4tRu5dK
+v8qF5ji
+3dbVxnh
+EfRyow4
+SMBM8Gs
+coXEyaz
+7CMPO2P
+IrOERhN
+3kb6N0H
+l0505Rl
+Gp6n3dO
+6fy43d8
+7vWGtfs
+cVifXBA
+uRmqUr8
+STefIKi
+GksM33q
+Pf5Y2lo
+KFHNVAB
+zklf5ZK
+ZtL4ZzH
+zb59W3R
+jUWu0DF
+GDlY7FU
+iedSowI
+4Xtw3hw
+Vpey8Tf
+9O9Xbxp
+TxKlwZg
+ha0TsB4
+bcX9mOe
+JryHdAz
+2YKevqs
+Ez9M9tU
+B6EoARF
+x2wJtnE
+OcMvrXS
+dza1mAA
+suaffof
+zvIz52O
+CpBFYx7
+G1HQtxv
+Np9C51M
+rlGVWpX
+Ss5xgGQ
+U7jTTCx
+Pc2Ax6n
+yj9UV8M
+anba5KN
+qKKsyMG
+e9BNQat
+CSzNHqo
+jSbjoM5
+6xa4nWg
+Q9NuTi0
+kbxYoWe
+79MxDhJ
+2b3IQQP
+hvovFac
+4p11Rri
+IhUf6cM
+MOUEjO6
+FqIWMCW
+T2rvnf4
+7Mykkgn
+96TRJPb
+R78jdKh
+0cOUPjc
+pjLRtjo
+X6YIawk
+zIm1IPB
+Y77mRVI
+nA29nzQ
+MlDTuLi
+bXeTNGN
+OYdYbFy
+GgrIxvk
+euXQREK
+T9C7AUM
+8DaHQMh
+LEsihOb
+b20JZ7q
+vDMvZd2
+cjmZz1E
+zDPY7P3
+PjkCpAp
+0bZcPD1
+uGD2eh2
+CZZ2KhM
+AKoqcJh
+CdJl9JP
+0TnZHlt
+Zmb8J1L
+TmyrcEx
+QFnrdvD
+hO4uyq7
+BOkZT9s
+3JTYLIl
+nsbXoCL
+dSQI4dP
+sRIid7j
+mpUddNY
+hGygXau
+SaUwULa
+582tSOp
+ixXvkCq
+VGbKmjU
+755czbV
+oSevj8n
+cnptw3h
+k8lotHK
+cEHZPDD
+ersEihK
+p8JXl0B
+eNe0zBU
+7zAiUoC
+QcLKEaC
+dBZnAgm
+G4Ltnue
+ogaYZFI
+TKfqU1r
+zR4de08
+0s2G7df
+FxJ2LGk
+OtserfU
+xGbCMCS
+CTxX5ua
+5EOcSbW
+DthA2pQ
+9uJhiFj
+JLS8Iyi
+D2l44kO
+0No9dZT
+7yRAt53
+Ksd2XY8
+9nPJUN4
+v6ojM9h
+vwRndEG
+Am8WiOw
+YDsPlv1
+Tq0NXZA
+3QeUUSQ
+Rb6gIe7
+oWj1Cbu
+VaRTiVO
+33XIqux
+vP343k7
+OGPZbpq
+alSsc7o
+fNXZ1QF
+2XxSsty
+qitfdZC
+AJa4I6t
+ifhsCnz
+UThoWoh
+zcgDNGv
+xOPiD0v
+v46KZjc
+Pt7WVeB
+RC7oe03
+GkAe5D7
+pHI0kGi
+vqzccWF
+uJLAtpJ
+E54X0Ga
+3KjM6eJ
+4OTQQUV
+k0WSXpB
+fWaUcI2
+CFsUapu
+qNTXFQD
+7NGJ9yx
+KWOHXnz
+PQ64SAi
+IM5ve5a
diff --git a/jasonlz/0003/0003.py b/jasonlz/0003/0003.py
new file mode 100644
index 00000000..fdb2d6cc
--- /dev/null
+++ b/jasonlz/0003/0003.py
@@ -0,0 +1,28 @@
+# coding=utf-8
+#**第 0003 题:**将 0001 题生成的 200 个激活码(或者优惠券)保存到 **Redis** 非关系型数据库中。
+
+import redis
+
+def read_line(file):
+ f = open(file,'r')
+ lines = f.readlines()
+ for i in range(len(lines)):
+ lines[i] = lines[i].strip()
+ return lines
+
+def redis_save():
+ lines = read_line('random_key.out')
+ r = redis.StrictRedis(host = '127.0.0.1', port = 6379, db = 0)
+
+ for i in range(len(lines)):
+ key = str(i+1)
+ value = str(lines[i])
+ r.set(key, value)
+ print 'ok'
+ r.save()
+ for i in range(len(lines)):
+ print r.get(i)
+ print 'OK!'
+
+if __name__ == '__main__':
+ redis_save()
\ No newline at end of file
diff --git a/jasonlz/0003/random_key.out b/jasonlz/0003/random_key.out
new file mode 100644
index 00000000..ee4a2f27
--- /dev/null
+++ b/jasonlz/0003/random_key.out
@@ -0,0 +1,200 @@
+ixOc0LD
+BGuE0XD
+C7HaFRG
+0wxgh88
+bBlsMdm
+p8LNUej
+CgOMSTF
+09kMv0n
+NPhyUux
+ozGjrp0
+ZOomZRs
+9jCOhlM
+nCErYkB
+ddHJ0oU
+6gcf7G8
+5Tx6vT9
+u55W03r
+0mqSB8j
+P21Y1zC
+GbTO7dC
+rdiH0NA
+2VJ62LI
+agKZx8v
+8Bt4Yvy
+KhaUHUr
+4tRu5dK
+v8qF5ji
+3dbVxnh
+EfRyow4
+SMBM8Gs
+coXEyaz
+7CMPO2P
+IrOERhN
+3kb6N0H
+l0505Rl
+Gp6n3dO
+6fy43d8
+7vWGtfs
+cVifXBA
+uRmqUr8
+STefIKi
+GksM33q
+Pf5Y2lo
+KFHNVAB
+zklf5ZK
+ZtL4ZzH
+zb59W3R
+jUWu0DF
+GDlY7FU
+iedSowI
+4Xtw3hw
+Vpey8Tf
+9O9Xbxp
+TxKlwZg
+ha0TsB4
+bcX9mOe
+JryHdAz
+2YKevqs
+Ez9M9tU
+B6EoARF
+x2wJtnE
+OcMvrXS
+dza1mAA
+suaffof
+zvIz52O
+CpBFYx7
+G1HQtxv
+Np9C51M
+rlGVWpX
+Ss5xgGQ
+U7jTTCx
+Pc2Ax6n
+yj9UV8M
+anba5KN
+qKKsyMG
+e9BNQat
+CSzNHqo
+jSbjoM5
+6xa4nWg
+Q9NuTi0
+kbxYoWe
+79MxDhJ
+2b3IQQP
+hvovFac
+4p11Rri
+IhUf6cM
+MOUEjO6
+FqIWMCW
+T2rvnf4
+7Mykkgn
+96TRJPb
+R78jdKh
+0cOUPjc
+pjLRtjo
+X6YIawk
+zIm1IPB
+Y77mRVI
+nA29nzQ
+MlDTuLi
+bXeTNGN
+OYdYbFy
+GgrIxvk
+euXQREK
+T9C7AUM
+8DaHQMh
+LEsihOb
+b20JZ7q
+vDMvZd2
+cjmZz1E
+zDPY7P3
+PjkCpAp
+0bZcPD1
+uGD2eh2
+CZZ2KhM
+AKoqcJh
+CdJl9JP
+0TnZHlt
+Zmb8J1L
+TmyrcEx
+QFnrdvD
+hO4uyq7
+BOkZT9s
+3JTYLIl
+nsbXoCL
+dSQI4dP
+sRIid7j
+mpUddNY
+hGygXau
+SaUwULa
+582tSOp
+ixXvkCq
+VGbKmjU
+755czbV
+oSevj8n
+cnptw3h
+k8lotHK
+cEHZPDD
+ersEihK
+p8JXl0B
+eNe0zBU
+7zAiUoC
+QcLKEaC
+dBZnAgm
+G4Ltnue
+ogaYZFI
+TKfqU1r
+zR4de08
+0s2G7df
+FxJ2LGk
+OtserfU
+xGbCMCS
+CTxX5ua
+5EOcSbW
+DthA2pQ
+9uJhiFj
+JLS8Iyi
+D2l44kO
+0No9dZT
+7yRAt53
+Ksd2XY8
+9nPJUN4
+v6ojM9h
+vwRndEG
+Am8WiOw
+YDsPlv1
+Tq0NXZA
+3QeUUSQ
+Rb6gIe7
+oWj1Cbu
+VaRTiVO
+33XIqux
+vP343k7
+OGPZbpq
+alSsc7o
+fNXZ1QF
+2XxSsty
+qitfdZC
+AJa4I6t
+ifhsCnz
+UThoWoh
+zcgDNGv
+xOPiD0v
+v46KZjc
+Pt7WVeB
+RC7oe03
+GkAe5D7
+pHI0kGi
+vqzccWF
+uJLAtpJ
+E54X0Ga
+3KjM6eJ
+4OTQQUV
+k0WSXpB
+fWaUcI2
+CFsUapu
+qNTXFQD
+7NGJ9yx
+KWOHXnz
+PQ64SAi
+IM5ve5a
diff --git a/jasonlz/README.md b/jasonlz/README.md
new file mode 100644
index 00000000..01717403
--- /dev/null
+++ b/jasonlz/README.md
@@ -0,0 +1,201 @@
+## Python 练习册,每天一个小程序 ##
+
+
+#### 说明: ####
+
+- Python 练习册,每天一个小程序。注:将 Python 换成其他语言,大多数题目也适用
+- 不会出现诸如「打印九九乘法表」、「打印水仙花」之类的题目
+- 本文本文由@史江歌(shijiangge@gmail.com QQ:499065469)根据互联网资料收集整理而成,感谢互联网,感谢各位的分享。鸣谢!本文会不断更新。
+- 欢迎大家 Pull Request 出题目,贴代码(Gist、Blog皆可):-)
+- 欢迎解答, 并发送 pull request 到 [Show-Me-the-Code](https://github.com/Show-Me-the-Code/python)
+
+> Talk is cheap. Show me the code.--Linus Torvalds
+
+----------
+
+**第 0000 题:**将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。
+类似于图中效果
+
+
+
+**第 0001 题:**做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用**生成激活码**(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)?
+
+**第 0002 题**:将 0001 题生成的 200 个激活码(或者优惠券)保存到 **MySQL** 关系型数据库中。
+
+**第 0003 题:**将 0001 题生成的 200 个激活码(或者优惠券)保存到 **Redis** 非关系型数据库中。
+
+**第 0004 题:**任一个英文的纯文本文件,统计其中的单词出现的个数。
+
+**第 0005 题:**你有一个目录,装了很多照片,把它们的尺寸变成都不大于 iPhone5 分辨率的大小。
+
+**第 0006 题:**你有一个目录,放了你一个月的日记,都是 txt,为了避免分词的问题,假设内容都是英文,请统计出你认为每篇日记最重要的词。
+
+**第 0007 题:**有个目录,里面是你自己写过的程序,统计一下你写过多少行代码。包括空行和注释,但是要分别列出来。
+
+**第 0008 题:**一个HTML文件,找出里面的**正文**。
+
+**第 0009 题:**一个HTML文件,找出里面的**链接**。
+
+**第 0010 题:**使用 Python 生成类似于下图中的**字母验证码图片**
+
+
+
+- [阅读资料](http://stackoverflow.com/questions/2823316/generate-a-random-letter-in-python)
+
+**第 0011 题:** 敏感词文本文件 filtered_words.txt,里面的内容为以下内容,当用户输入敏感词语时,则打印出 Freedom,否则打印出 Human Rights。
+
+ 北京
+ 程序员
+ 公务员
+ 领导
+ 牛比
+ 牛逼
+ 你娘
+ 你妈
+ love
+ sex
+ jiangge
+
+**第 0012 题:** 敏感词文本文件 filtered_words.txt,里面的内容 和 0011题一样,当用户输入敏感词语,则用 星号 * 替换,例如当用户输入「北京是个好城市」,则变成「**是个好城市」。
+
+**第 0013 题:** 用 Python 写一个爬图片的程序,爬 [这个链接里的日本妹子图片 :-)](http://tieba.baidu.com/p/2166231880)
+
+- [参考代码](http://www.v2ex.com/t/61686 "参考代码")
+
+**第 0014 题:** 纯文本文件 student.txt为学生信息, 里面的内容(包括花括号)如下所示:
+
+ {
+ "1":["张三",150,120,100],
+ "2":["李四",90,99,95],
+ "3":["王五",60,66,68]
+ }
+
+请将上述内容写到 student.xls 文件中,如下图所示:
+
+
+
+- [阅读资料](http://www.cnblogs.com/skynet/archive/2013/05/06/3063245.html) 腾讯游戏开发 XML 和 Excel 内容相互转换
+
+**第 0015 题:** 纯文本文件 city.txt为城市信息, 里面的内容(包括花括号)如下所示:
+
+ {
+ "1" : "上海",
+ "2" : "北京",
+ "3" : "成都"
+ }
+
+请将上述内容写到 city.xls 文件中,如下图所示:
+
+
+
+
+**第 0016 题:** 纯文本文件 numbers.txt, 里面的内容(包括方括号)如下所示:
+
+ [
+ [1, 82, 65535],
+ [20, 90, 13],
+ [26, 809, 1024]
+ ]
+
+请将上述内容写到 numbers.xls 文件中,如下图所示:
+
+
+
+**第 0017 题:** 将 第 0014 题中的 student.xls 文件中的内容写到 student.xml 文件中,如
+
+下所示:
+
+
+
+
+
+ {
+ "1" : ["张三", 150, 120, 100],
+ "2" : ["李四", 90, 99, 95],
+ "3" : ["王五", 60, 66, 68]
+ }
+
+
+
+- [阅读资料](http://www.cnblogs.com/skynet/archive/2013/05/06/3063245.html) 腾讯游戏开发 xml 和 Excel 相互转换
+
+**第 0018 题:** 将 第 0015 题中的 city.xls 文件中的内容写到 city.xml 文件中,如下所示:
+
+
+
+
+
+ {
+ "1" : "上海",
+ "2" : "北京",
+ "3" : "成都"
+ }
+
+
+
+**第 0019 题:** 将 第 0016 题中的 numbers.xls 文件中的内容写到 numbers.xml 文件中,如下
+
+所示:
+
+
+
+
+
+
+ [
+ [1, 82, 65535],
+ [20, 90, 13],
+ [26, 809, 1024]
+ ]
+
+
+
+
+**第 0020 题:** [登陆中国联通网上营业厅](http://iservice.10010.com/index_.html) 后选择「自助服务」 --> 「详单查询」,然后选择你要查询的时间段,点击「查询」按钮,查询结果页面的最下方,点击「导出」,就会生成类似于 2014年10月01日~2014年10月31日通话详单.xls 文件。写代码,对每月通话时间做个统计。
+
+**第 0021 题:** 通常,登陆某个网站或者 APP,需要使用用户名和密码。密码是如何加密后存储起来的呢?请使用 Python 对密码加密。
+
+- 阅读资料 [用户密码的存储与 Python 示例](http://zhuoqiang.me/password-storage-and-python-example.html)
+
+- 阅读资料 [Hashing Strings with Python](http://www.pythoncentral.io/hashing-strings-with-python/)
+
+- 阅读资料 [Python's safest method to store and retrieve passwords from a database](http://stackoverflow.com/questions/2572099/pythons-safest-method-to-store-and-retrieve-passwords-from-a-database)
+
+**第 0022 题:** iPhone 6、iPhone 6 Plus 早已上市开卖。请查看你写得 第 0005 题的代码是否可以复用。
+
+**第 0023 题:** 使用 Python 的 Web 框架,做一个 Web 版本 留言簿 应用。
+
+[阅读资料:Python 有哪些 Web 框架](http://v2ex.com/t/151643#reply53)
+
+- 
+
+
+**第 0024 题:** 使用 Python 的 Web 框架,做一个 Web 版本 TodoList 应用。
+
+- 
+
+**第 0025 题:** 使用 Python 实现:对着电脑吼一声,自动打开浏览器中的默认网站。
+
+
+ 例如,对着笔记本电脑吼一声“百度”,浏览器自动打开百度首页。
+
+ 关键字:Speech to Text
+
+参考思路:
+1:获取电脑录音-->WAV文件
+ python record wav
+
+2:录音文件-->文本
+
+ STT: Speech to Text
+
+ STT API Google API
+
+3:文本-->电脑命令