7個Python實戰專案(附原始碼),拿走就用
Python是目前最好的程式語言之一。 由於其可讀性和對初學者的友好性,已被廣泛使用。
那麼要想學會並掌握Python,可以實戰的練習專案是必不可少的。
接下來,我將給大家介紹20個非常實用的Python專案,幫助大家更好的學習Python。
大家也可根據專案的需求,自己構建解決方法,提高程式設計水平。
① 猜字遊戲
在這個遊戲中,你必須一個字母一個字母的猜出祕密單詞。
如果你猜錯了一個字母,你將丟掉一條命。
正如遊戲名那樣,你需要仔細選擇字母,因為你的生命數量非常有限。
import random # 生命次數 lives = 3 # 神祕單詞, 隨機選擇 words = ['pizza', 'fairy', 'teeth', 'shirt', 'otter', 'plane'] secret_word = random.choice(words) # print(secret_word) clue = list('?????') heart_symbol = u'\u2764' guessed_word_correctly = False def update_clue(guessed_letter, secret_word, clue): index = 0 while index < len(secret_word): if guessed_letter == secret_word[index]: clue[index] = guessed_letter index = index + 1 while lives > 0: print(clue) print('剩餘生命次數: ' + heart_symbol * lives) guess = input('猜測字母或者是整個單詞: ') if guess == secret_word: guessed_word_correctly = True break if guess in secret_word: update_clue(guess, secret_word, clue) else: print('錯誤。你丟了一條命\n') lives = lives - 1 if guessed_word_correctly: print('你贏了! 祕密單詞是 ' + secret_word) else: print('你輸了! 祕密單詞是 ' + secret_word)
下面就讓小F, 來玩一下。
2. 鬧鐘
鬧鐘是一種具有可以在預先設定的時間被啟用以響鈴的功能的時鐘,用於喚醒打工人們。
使用Python中的DateTime模組來建立鬧鐘,並用Python中的playsound庫來播放鬧鐘聲音。
from datetime import datetime from playsound import playsound # 輸入 alarm_time = input("請輸入鬧鐘時間, 示例: 09:50:00 am\n") # 時 alarm_hour = alarm_time[0:2] # 分 alarm_minute = alarm_time[3:5] # 秒 alarm_seconds = alarm_time[6:8] # 上午或下午 alarm_period = alarm_time[9:11].upper() print("完成鬧鐘設定..") while True: now = datetime.now() current_hour = now.strftime("%I") current_minute = now.strftime("%M") current_seconds = now.strftime("%S") current_period = now.strftime("%p") # 時間判斷 if alarm_period == current_period: if alarm_hour == current_hour: if alarm_minute == current_minute: if alarm_seconds == current_seconds: print("起來啦!") # 鬧鐘鈴聲 playsound('audio.mp3') break
來測試一下,設定一個鬧鐘,到指定時間就會有音樂響起。
3. 骰子模擬器
可以通過選擇1到6之間的隨機整數,來完成骰子模擬。
import random # 設定最大值和最小值 min_val = 1 max_val = 6 # 是否繼續 roll_again = "yes" # 迴圈 while roll_again == "yes" or roll_again == "y": print("開始擲骰子") print("骰子數值是 :") # 第一輪 print(random.randint(min_val, max_val)) # 第二輪 print(random.randint(min_val, max_val)) # 是否繼續 roll_again = input("是否繼續擲骰子?(是的話, 輸入yes或者y)")
使用random.randint()函式。函式根據我們指定的開始和結束範圍返回一個隨機整數。
結果如下。
4. 語言檢測
當你需要處理包含不同語言資料,且資料非常大的時候,語言檢測就派上用場了。
使用Python中的langdetect包,可以在幾行程式碼內檢測超過55種不同的語言。
from langdetect import detect text = input("輸入資訊: ") print(detect(text))
示例。
5. 加密和解密
密碼術意味著更改訊息的文字,以便不知道你祕密的人永遠不會理解你的訊息。
下面就來建立一個GUI應用程式,使用Python進行加密和解密。
在這裡,我們需要編寫使用無限迴圈的程式碼,程式碼將不斷詢問使用者是否要加密或解密訊息。
from tkinter import messagebox, simpledialog, Tk def is_even(number): return number % 2 == 0 def get_even_letters(message): even_letters = [] for counter in range(0, len(message)): if is_even(counter): even_letters.append(message[counter]) return even_letters def get_odd_letters(message): odd_letters = [] for counter in range(0, len(message)): if not is_even(counter): odd_letters.append(message[counter]) return odd_letters def swap_letters(message): letter_list = [] if not is_even(len(message)): message = message + 'x' even_letters = get_even_letters(message) odd_letters = get_odd_letters(message) for counter in range(0, int(len(message) / 2)): letter_list.append(odd_letters[counter]) letter_list.append(even_letters[counter]) new_message = ''.join(letter_list) return new_message def get_task(): task = simpledialog.askstring('任務', '你是否想要加密或解密資訊?') return task def get_message(): message = simpledialog.askstring('資訊', '輸入相關資訊: ') return message root = Tk() while True: task = get_task() if task == '加密': message = get_message() encrypted = swap_letters(message) messagebox.showinfo('密電的密文為:', encrypted) elif task == '解密': message = get_message() decrypted = swap_letters(message) messagebox.showinfo('密電的明文為:', decrypted) else: break root.mainloop()
示例。
6. URL縮短
短網址由於易於記憶和輸入,因此在數字營銷領域非常受歡迎。
這裡給大家介紹一下,如何使用Python建立URL縮短器。
from __future__ import with_statement import contextlib try: from urllib.parse import urlencode except ImportError: from urllib import urlencode try: from urllib.request import urlopen except ImportError: from urllib2 import urlopen import sys def make_tiny(url): request_url = ('http://tinyurl.com/api-create.php?' + urlencode({'url': url})) # print(request_url) with contextlib.closing(urlopen(request_url)) as response: return response.read().decode('utf-8') def main(): for tinyurl in map(make_tiny, ['https://baijiahao.baidu.com/s?id=1719379508156841662']): print(tinyurl) if __name__ == '__main__': main()
執行程式碼,輸出如下。
# 輸出 https://tinyurl.com/y4z6z2gq
7. 音樂播放器
音樂播放器,可讓你快速輕鬆地管理和收聽所有音樂檔案。
應該不少小夥伴都使用過,網易雲音樂、QQ音樂、酷狗音樂等。
這裡小F將使用Pygame和Tkinter,來建立一個音樂播放器。
import pygame import tkinter as tkr from tkinter.filedialog import askdirectory import os music_player = tkr.Tk() music_player.title("我的音樂播放器") music_player.geometry("450x350") directory = askdirectory() os.chdir(directory) song_list = os.listdir() play_list = tkr.Listbox(music_player, font="Helvetica 12 bold", bg='yellow', selectmode=tkr.SINGLE) for item in song_list: pos = 0 play_list.insert(pos, item) pos += 1 pygame.init() pygame.mixer.init() def play(): """播放""" pygame.mixer.music.load(play_list.get(tkr.ACTIVE)) var.set(play_list.get(tkr.ACTIVE)) pygame.mixer.music.play() def stop(): """停止""" pygame.mixer.music.stop() def pause(): """暫停""" pygame.mixer.music.pause() def unpause(): """取消暫停""" pygame.mixer.music.unpause() Button1 = tkr.Button(music_player, width=5, height=3, font="Helvetica 12 bold", text="播放", command=play, bg="blue", fg="white") Button2 = tkr.Button(music_player, width=5, height=3, font="Helvetica 12 bold", text="停止", command=stop, bg="red", fg="white") Button3 = tkr.Button(music_player, width=5, height=3, font="Helvetica 12 bold", text="暫停", command=pause, bg="purple", fg="white") Button4 = tkr.Button(music_player, width=5, height=3, font="Helvetica 12 bold", text="取消暫停", command=unpause, bg="orange", fg="white") var = tkr.StringVar() song_title = tkr.Label(music_player, font="Helvetica 12 bold", textvariable=var) song_title.pack() Button1.pack(fill="x") Button2.pack(fill="x") Button3.pack(fill="x") Button4.pack(fill="x") play_list.pack(fill="both", expand="yes") music_player.mainloop()
選擇音樂檔案所在的資料夾,點選播放,即可聽見音樂。
想要更多的小專案可以加這個老師或者評論區扣“1”
相關文章
- 精選了20個Python實戰專案(附原始碼),拿走就用!Python原始碼
- 吐血總結!10個Python實戰專案(附原始碼)Python原始碼
- 推薦7個Python上手實戰專案Python
- python專案例項原始碼-32個Python爬蟲實戰專案,滿足你的專案慌(帶原始碼)Python原始碼爬蟲
- 70個Python經典實用練手專案(附原始碼)Python原始碼
- 7個Python實戰專案程式碼,讓你分分鐘晉級大神!Python
- python十個實戰專案Python
- AngularJS實戰專案(Ⅰ)--含原始碼AngularJS原始碼
- 7個Python實戰專案程式碼,讓你感受下大神是如何起飛的!Python
- 7 個日常實用的 Shell 拿來就用指令碼例項!指令碼
- python實戰一個完整的專案-年終課程盤點|16 個 Python 綜合實戰專案合集Python
- Python實戰專案:打乒乓(原始碼分享)(文章較短,直接上程式碼)Python原始碼
- python實戰專案Python
- 整理了70個Python實戰專案案例,教程+原始碼+筆記。從基礎到深入Python原始碼筆記
- 拯救Python新手的幾個專案實戰Python
- 數千個Android專案原始碼安卓遊戲原始碼大全經典安卓專案附帶原始碼(圖片版)Android原始碼安卓遊戲
- 推薦 7 個牛哄哄 Spring Cloud 實戰專案SpringCloud
- 32個Python爬蟲實戰專案,滿足你的專案慌Python爬蟲
- 7個Python實戰專案程式碼,讓你30分鐘從零基礎晉級為大神!Python
- Python網路爬蟲實戰專案大全 32個Python爬蟲專案demoPython爬蟲
- Python專案實戰例項Python
- 完整的python專案例項-Python例項練手專案彙總(附原始碼)Python原始碼
- Python爬蟲專案100例,附原始碼!100個Python爬蟲練手例項Python爬蟲原始碼
- python爬蟲-33個Python爬蟲專案實戰(推薦)Python爬蟲
- 50個開放原始碼專案原始碼
- Jenkins部署Python專案實戰JenkinsPython
- Python專案開發實戰1Python
- python能做什麼專案-這十個Python實戰專案,讓你瞬間讀懂Python!Python
- 實戰:Nacos配置中心的Pull原理,附原始碼原始碼
- 這4個Python實戰專案,讓你瞬間讀懂Python!Python
- 這十個Python實戰專案,讓你瞬間讀懂Python!Python
- python專案歸納總結-這4個Python實戰專案,讓你瞬間讀懂Python!Python
- 2020年度最佳的23個的機器學習專案(附原始碼)機器學習原始碼
- 微信小程式實戰影片教程附原始碼課件與多個微信小程式原始碼 14課微信小程式原始碼
- 4個Python經典專案實戰,練手必備哦Python
- python畢業設計專案原始碼Python原始碼
- 最新Python開發專案實戰(完整)Python
- vue專案實現記住密碼到cookie功能(附原始碼)!這只是demoVue密碼Cookie原始碼