飞道的博客

Python 小项目实战了解一下?

400人阅读  评论(0)

文 | 潮汐

来源:Python 技术「ID: pythonall」

最近无论是北方还是南方都迎来了强冷空气的袭击,北风呼呼吹,我所在的城市这两天则可随处溜冰,城市道路结冰橙色预警,全省交通到处管制、小学幼儿园停课休息;上班路上的行人则是小心翼翼怕摔跤;老家韭菜坪的风景更美,给大家来带张照片感受感受:

言归正传,今天的文章来点有趣的小项目实战,希望给繁忙工作中的朋友们减减压,也给这个严冬增添几分暖色;详细项目请见后文。

用 Python 画彩虹线

用 Python turtle 画个转圈圈的彩虹线,实现思路如下:


   
  1. # 导入 turtle 包
  2. import turtle
  3. # 打开画笔
  4. q = turtle.Pen()
  5. # 设置背景颜色
  6. turtle.bgcolor( "white")
  7. sides =  7
  8. # 设置彩虹线
  9. colors =[ "red", "orange", "yellow", "green", "cyan", "blue", "purple"]
  10. for x in  range( 360):
  11.      q.pencolor(colors[x % sides])
  12.      q.forward(x* 3 / sides+x)
  13.      q.left( 360 / sides+ 1)
  14.      q.width(x * sides/ 200)

实现结果如下:

用 Python 实现有趣的图片转字符游戏

实现思路如下:


   
  1. #用 Python 实现图片转字符
  2. from PIL  import Image
  3. import os
  4. #设置参数输入像素的灰度值
  5. def g2s(gray):
  6.     pixel_str= '' '$#%@&MNBEFRWYLIkbtj?*984532menocvzst{}[]1|()<>=+~-;:i^"''' '
  7.     length=len(pixel_str)
  8.     # 字符之间的灰度区间
  9.     plus=255/length
  10.     # str_gray表示字符所代表的灰度值
  11.     str_gray=0
  12.     for i in range(length):
  13.         str_gray = str_gray + plus
  14.         if gray <=str_gray:
  15.             return pixel_str[i]
  16. def img2str(img_path,save_path,num=0):
  17.     txt_path=os.path.join(save_path,'img.txt ')
  18.     f=open(txt_path,'w ')
  19.     f.write(' ')
  20.     # 因为此目录有可能已有内容,所以先清空
  21.     f.close()
  22.     # a表示在文件的末尾添加
  23.     f=open(txt_path,'a ')
  24.     # 因为有些图片尺寸过于大,所以添加了一个修改大小的功能
  25.     im=Image.open(img_path)
  26.     if num==0:
  27.         pass
  28.     else:
  29.         im=im.resize( ( int(im.size[0]/num),int(im.size[1]/num) ) )
  30.     # 直接将图片转换成灰度模式
  31.     im=im.convert('L ')
  32.     for y in range(im.size[1]):
  33.         for x in range(im.size[0]):
  34.             s=g2s(im.getpixel((x,y)))
  35.             f.write(s)
  36.         f.write('\n ')
  37.     f.close()
  38. if __name__=='__main__ ':
  39.     img2str(r'test.jpg ', r'D:\\Python_test ', 4)

测试图片:

实现效果如下:

总结

今天的文章主要是使用 Python 实现小项目减减压,希望对大家有所帮助!

PS:公号内回复「Python」即可进入Python 新手学习交流群,一起 100 天计划!

老规矩,兄弟们还记得么,右下角的 “在看” 点一下,如果感觉文章内容不错的话,记得分享朋友圈让更多的人知道!

代码获取方式

识别文末二维码,回复:210111


转载:https://blog.csdn.net/weixin_48923393/article/details/112504945
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场