言归正传,今天的文章来点有趣的小项目实战,希望给繁忙工作中的朋友们减减压,也给这个严冬增添几分暖色;详细项目请见后文。
用 Python 画彩虹线
用 Python turtle 画个转圈圈的彩虹线,实现思路如下:
# 导入 turtle 包 import turtle # 打开画笔 q = turtle.Pen() # 设置背景颜色 turtle.bgcolor("white") sides = 7 # 设置彩虹线 colors =["red","orange","yellow","green","cyan","blue","purple"] for x in range(360): q.pencolor(colors[x % sides]) q.forward(x*3 / sides+x) q.left(360 / sides+1) q.width(x * sides/200)
实现结果如下:
用 Python 实现有趣的图片转字符游戏
实现思路如下:
#用 Python 实现图片转字符 from PIL import Image import os #设置参数输入像素的灰度值 def g2s(gray): pixel_str='''$#%@&MNBEFRWYLIkbtj?*984532menocvzst{}[]1|()<>=+~-;:i^"'. ''' length=len(pixel_str) # 字符之间的灰度区间 plus=255/length # str_gray表示字符所代表的灰度值 str_gray=0 for i in range(length): str_gray = str_gray + plus if gray <=str_gray: return pixel_str[i] def img2str(img_path,save_path,num=0): txt_path=os.path.join(save_path,'img.txt') f=open(txt_path,'w') f.write('') # 因为此目录有可能已有内容,所以先清空 f.close() # a表示在文件的末尾添加 f=open(txt_path,'a') # 因为有些图片尺寸过于大,所以添加了一个修改大小的功能 im=Image.open(img_path) if num==0: pass else: im=im.resize( ( int(im.size[0]/num),int(im.size[1]/num) ) ) # 直接将图片转换成灰度模式 im=im.convert('L') for y in range(im.size[1]): for x in range(im.size[0]): s=g2s(im.getpixel((x,y))) f.write(s) f.write('\n') f.close() if __name__=='__main__': img2str(r'test.jpg', r'D:\\Python_test', 4)
测试图片:
实现效果如下:
总结
今天的文章主要是使用 Python 实现小项目减减压,希望对大家有所帮助!