Python 小項目實戰(zhàn)了解一下?

文 |?潮汐
來源:Python 技術「ID: pythonall」

最近無論是北方還是南方都迎來了強冷空氣的襲擊,北風呼呼吹,我所在的城市這兩天則可隨處溜冰,城市道路結冰橙色預警,全省交通到處管制、小學幼兒園停課休息;上班路上的行人則是小心翼翼怕摔跤;老家韭菜坪的風景更美,給大家來帶張照片感受感受:


言歸正傳,今天的文章來點有趣的小項目實戰(zhàn),希望給繁忙工作中的朋友們減減壓,也給這個嚴冬增添幾分暖色;詳細項目請見后文。
用 Python 畫彩虹線
用 Python turtle 畫個轉圈圈的彩虹線,實現(xiàn)思路如下:
#?導入?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)
實現(xiàn)結果如下:

用 Python 實現(xiàn)有趣的圖片轉字符游戲
實現(xiàn)思路如下:
#用?Python?實現(xiàn)圖片轉字符
from?PIL?import?Image
import?os
#設置參數輸入像素的灰度值
def?g2s(gray):
????pixel_str='''$#%@&MNBEFRWYLIkbtj?*984532menocvzst{}[]1|()<>=+~-;:i^"'.?'''
????length=len(pixel_str)
????#?字符之間的灰度區(qū)間
????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)
測試圖片:

實現(xiàn)效果如下:

總結
今天的文章主要是使用 Python 實現(xiàn)小項目減減壓,希望對大家有所幫助!
PS:公號內回復「Python」即可進入Python 新手學習交流群,一起 100 天計劃!
老規(guī)矩,兄弟們還記得么,右下角的 “在看” 點一下,如果感覺文章內容不錯的話,記得分享朋友圈讓更多的人知道!


【代碼獲取方式】
評論
圖片
表情
