5分鐘就能完成的5個Python小專案,趕緊拿去玩玩吧

最近在做python專案開發的時候發現了好多好玩的小專案,並且都是程式碼量較少容易上手,對新手十分友好。所以今天就來和小夥伴分享一些Python從一行程式碼到三十行程式碼的好玩專案,之後博主也會在這裡持續更新更多好玩的專案,記得關注哦。

三十行程式碼爬取任意百度圖片

import requestsimport reimport timeurl = “http://image。baidu。com/search/index?tn=baiduimage&word=皮卡丘”urls = requests。get(url) # 開啟連結urltext = urls。text # 獲取連結全部文字urlre = re。compile(‘“objURL”:“(。*?)”’, re。S) # 書寫正則表示式urllist = urlre。findall(urltext) # 透過正則進行匹配 with open(“1。txt”, “w”) as txt: # 將匹配到的連結寫入檔案 for i in urllist: txt。write(i + “\n”)i = 0 # 迴圈遍歷列表並下載圖片for urlimg in urllist: time。sleep(3) # 程式休眠三秒 img = requests。get(urlimg, timeout = 5)。content # 以二進位制形式開啟圖片連結 if img: with open(str(i) + “。jpg”, “wb”) as imgs: # 新建一個jpg檔案,以二進位制寫入 print(“正在下載第%s張圖片 %s” % (str(i+1), urlimg)) imgs。write(img) #將圖片寫入 i += 1 if i == 3: #為了避免無限下載,在這裡設定下載圖片為3張 break else: print(“下載失敗!”) print(“下載完畢!”)

效果如下:

5分鐘就能完成的5個Python小專案,趕緊拿去玩玩吧

二十五行程式碼圖片轉字元畫

from PIL import ImageIMG = ‘t01b2a945701805d7f1。jpg’ #設定圖片檔案WIDTH = 150 #設定字元畫的寬HEIGHT = 80 #設定字元畫的高OUTPUT = ‘output5。txt’ #設定存放字元畫的文字檔案ascii_char = list(“$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\”^`‘。 “) #設定顯示的字符集def get_char(r,g,b,alpha = 256): if alpha == 0: return ’ ‘ length = len(ascii_char) gray = int(0。2126 * r + 0。7152 * g + 0。0722 * b) unit = (255。0 + 1)/length return ascii_char[int(gray/unit)]if __name__ == ’__main__‘: im = Image。open(IMG) im = im。resize((WIDTH,HEIGHT), Image。NEAREST) txt = ”“ for i in range(HEIGHT): for j in range(WIDTH): txt += get_char(*im。getpixel((j,i))) txt += ’\n‘ print(txt) with open(OUTPUT,’w‘) as f: f。write(txt)

效果如下:

5分鐘就能完成的5個Python小專案,趕緊拿去玩玩吧

十行程式碼繪製太陽花:

from turtle import *color(’red‘, ’yellow‘)begin_fill()while True: forward(200) left(170) if abs(pos()) < 1: breakend_fill()done()

效果如下:

5分鐘就能完成的5個Python小專案,趕緊拿去玩玩吧

二行程式碼製作專屬動態二維碼

from MyQR import myqrmyqr。run(words=’https://hao。360。com/‘,picture=’Sources/gakki。gif‘,save_name=’qr4。png‘,colorized=True)

效果如下:

5分鐘就能完成的5個Python小專案,趕緊拿去玩玩吧

一行程式碼實現心形圖案

print(’\n‘。join([’‘。join([(’lovelovelove‘[(x-y)%12]if((x*0。05)**2+(y*0。1)**2-1)**3-(x*0。05)**2*(y*0。1)**3<=0 else’ ‘)for x in range(-30,30)])for y in range(15,-15,-1)]))

效果如下:

5分鐘就能完成的5個Python小專案,趕緊拿去玩玩吧

最後祝大家天天進步!!學習Python最重要的就是心態。