第 0000 题:将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果
#!/usr/bin/env python
#-*- coding: utf-8 -*-
__author__='jzx'
from PIL import Image,ImageDraw,ImageFont
import random
msgNum = str(random.randint(1,99))
# Read image
im = Image.open('1.jpg')
w,h = im.size
wDraw = 0.8 * w
hDraw = 0.08 * h
# Draw image
#font = ImageFont.truetype() # use absolute font path to fix 'IOError: cannot open resource'
draw = ImageDraw.Draw(im)
draw.text((wDraw,hDraw), msgNum, fill=(255,33,33))
# Save image
im.save('1_num', 'jpg')
第 0001 题:做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)?
#!/usr/bin/env python
#-*- coding: utf-8 -*-
__author__='jzx'
import random
import os
def radom_generate():
string = ''
for n in range(1,9):
number = int(random.uniform(0,9))
string += str(number)
string += '\n'
return (string)
def list_generate():
list=[]
for i in range(1,201):
list.append(radom_generate())
return( list)
def write_file():
fb=open('result.txt','w+')
for i in list_generate():
fb.write(i)
fb.close()
write_file()
如果生成的万一恰好有重复的,那不就垮掉了,修改版
import random
import os
def radom_generate():
string = ''
for n in range(1,9):
number = int(random.uniform(0,9))
string += str(number)
string += '\n'
return (string)
def list_generate():
list1=[]
for i in range(1,201):
list1.append(radom_generate())
list2=list(set(list1))#去除重复
if not len(list2)==200:
for j in range(1,200-len(list2)+1):
list2.append(radom.generate())
return list2
def write_file():
fb=open('result.txt','w+')
for i in list_generate():
fb.write(i)
fb.close()
write_file()
有学习了一个很具有python风格的写法,这个真的很棒!
#!/usr/bin/env python
#coding: utf-8
import string, random
#激活码中的字符和数字
field = string.ascii_letters + string.digits
#获得四个字母和数字的随机组合
def getRandom():
return "".join(random.sample(field,4))
#生成的每个激活码中有几组
def concatenate(group):
return "-".join([getRandom() for i in range(group)])
#生成n组激活码
def generate(n):
return [concatenate(4) for i in range(n)]
if __name__ == '__main__':
print(generate(200))
第 0004 题:任一个英文的纯文本文件,统计其中的单词出现的个数。