Hi,大家好。Python/ target=_blank class=infotextkey>Python豐富的開發生態是它的一大優勢,各種第三方庫、框架和代碼,都是前人造好的“輪子”,能夠完成很多操作,讓你的開發事半功倍。
下面就給大家介紹15個通過Python構建的項目,以此來學習Python編程。這些例子都很簡單實用,大家也可嘗試根據項目的目的及提示,自己構建解決方法,提高編程水平,如需獲取源碼,可以在ITester軟件測試微信公眾號后臺回復“mini源碼”。
一
簡易小程序
骰子模擬器
要求:創建一個程序來模擬擲骰子。
說明:當用戶詢問時,使用random模塊生成一個1到6之間的數字。
運行效果如下:
隨機密碼生成器
要求:創建一個程序,可指定密碼長度,生成一串隨機密碼。
說明:創建一個數字+大寫字母+小寫字母+特殊字符的字符串,根據設定的密碼長度隨機生成一串密碼。
運行效果如下:
句子生成器
要求:通過用戶提供的輸入,來生成隨機且唯一的句子。
說明:以用戶輸入的名詞、代詞、形容詞等作為輸入,然后將所有數據添加到句子中,并將其組合返回。
運行效果如下:
故事生成器
要求:每次用戶運行程序時,都會生成一個隨機的故事。
說明:random模塊可以用來選擇故事的隨機部分,內容來自每個列表里。
運行效果如下:
郵件地址切片器
要求:編寫一個Python腳本,可以從郵件地址中獲取用戶名和域名。
說明:使用@作為分隔符,將地址分為分為兩個字符串。
運行效果如下:
短鏈接生成器
要求:編寫一個Python腳本,使用API縮短給定的URL。
二
簡易小應用
鬧鐘
要求:編寫一個創建鬧鐘的Python腳本。
說明:你可以使用date-time模塊創建鬧鐘,以及playsound庫播放聲音。
天氣應用
目的:編寫一個Python腳本,接收城市名稱并使用爬蟲獲取該城市的天氣信息。
提示:你可以使用Beautifulsoup和requests庫直接從谷歌主頁爬取數據。
安裝:requests,BeautifulSoup。
人臉檢測
要求:編寫一個Python腳本,可以檢測圖像中的人臉,并將所有的人臉保存在一個文件夾中。
說明:可以使用haar級聯分類器對人臉進行檢測。它返回的人臉坐標信息,可以保存在一個文件中。
安裝:OpenCV。
下載:haarcascade_frontalface_default.xml
#!/usr/bin/python3# -*- coding:utf-8 -*-# @Software:PyCharm# @微信公眾號:ITester軟件測試小棧下載地址:https://raw.githubusercontent.com/opencv/opencv/master/data/haarcascades/haarcascade_frontalface_default.xml
實現代碼如下:
提醒應用
要求:創建一個提醒應用程序,在特定的時間提醒你做一些事情(桌面通知)。
提示:Time模塊可以用來跟蹤提醒時間,toastnotifier庫可以用來顯示桌面通知。
安裝:win10toast。
#!/usr/bin/python3# -*- coding:utf-8 -*-# @Software:PyCharm# @微信公眾號:ITester軟件測試小棧from win10toast import ToastNotifierimport timetoaster = ToastNotifier()try: print("提醒標題:") header = input() print("提醒信息:") text = input() print("幾分鐘后?") time_min = input() time_min=float(time_min)except: header = input("提醒標題n") text = input("提醒信息n") time_min=float(input("幾分鐘后?n"))time_min = time_min * 60print("設置提醒..")time.sleep(2)print("所有設置完畢!")time.sleep(time_min)toaster.show_toast(f"{header}",f"{text}",duration=10,threaded=True)while toaster.notification_active(): time.sleep(0.005)
自動發送郵件
要求:編寫一個Python腳本,可以使用這個腳本發送電子郵件。
說明:email庫可用于發送電子郵件。
三
簡易小游戲
石頭剪刀布游戲
要求:創建一個命令行游戲,游戲者可以在石頭、剪刀和布之間進行選擇,與計算機PK。如果游戲者贏了,得分就會添加,直到結束游戲時,最終的分數會展示給游戲者。
說明:接收游戲者的選擇,并且與計算機的選擇進行比較。計算機的選擇是從選擇列表中隨機選取的。如果游戲者獲勝,則增加1分。
#!/usr/bin/python3# -*- coding:utf-8 -*-# @Software:PyCharm# @微信公眾號:ITester軟件測試小棧import randomchoices = ["石頭", "布", "剪刀"]computer = random.choice(choices)player = Falsecpu_score = 0player_score = 0while True: player = input("石頭, 布 or 剪刀?").capitalize() # 判斷游戲者和電腦的選擇 if player == computer: print("平局!") elif player == "石頭": if computer == "布": print("你輸了!", computer, "covers", player) cpu_score+=1 else: print("你贏了!", player, "smashes", computer) player_score+=1 elif player == "布": if computer == "剪刀": print("你輸了!", computer, "cut", player) cpu_score+=1 else: print("你贏了!", player, "covers", computer) player_score+=1 elif player == "剪刀": if computer == "石頭": print("你輸了...", computer, "smashes", player) cpu_score+=1 else: print("你贏了??!", player, "cut", computer) player_score+=1 elif player=='結束': print("——————最終得分——————") print(f"電腦:{cpu_score}") print(f"玩家:{player_score}") break else: print("輸入有誤,請檢查輸入!") computer = random.choice(choices)
運行效果如下:
猜數字游戲
要求:在這個游戲中,任務是創建一個腳本,能夠在一個范圍內生成一個隨機數。如果用戶在三次機會中猜對了數字,那么用戶贏得游戲,否則用戶輸。
說明:生成一個隨機數,然后使用循環給用戶三次猜測機會,根據用戶的猜測打印最終的結果。
運行效果如下:
文字冒險游戲
要求:編寫一個有趣的Python腳本,通過為路徑選擇不同的選項讓用戶進行有趣的冒險。
運行效果如下:
猜單詞游戲
要求:創建一個簡單的命令行猜單詞游戲。
說明:創建一個密碼詞的列表并隨機選擇一個單詞。現在將每個單詞用下劃線“_”表示,給用戶提供猜單詞的機會,如果用戶猜對了單詞,則將“_”用單詞替換。
#!/usr/bin/python3# -*- coding:utf-8 -*-# @Software:PyCharm# @File : run_case.py# @微信公眾號:ITester軟件測試小棧import timeimport randomname = input("請輸入您的游戲昵稱? ")print ("Hello, " + name, "歡迎來玩猜單詞游戲!")time.sleep(1)print ("現在開始游戲...n")time.sleep(0.5)## A List Of Secret wordswords = ['python','ITester','test','JAVA','hAppy','love']word = random.choice(words)guesses = ''turns = 5while turns > 0: failed = 0 for char in word: if char in guesses: print (char,end="") else: print ("_",end=""), failed += 1 if failed == 0: print ("n你贏了!") break guess = input("n輸入字母:") guesses += guess if guess not in word: turns -= 1 print("n錯誤") print("n你還有", + turns, '次機會') if turns == 0: print ("n你輸了!")
運行效果如下:
更多系列文章
敬請期待
我是CoCo,計算機科學與技術專業,深漂大廠互聯網民工(女),坐標深圳。5年工作經驗,3年持續輸出技術文。ITester軟件測試小棧(ID:ITestingA),專注于軟件測試技術和寶藏干貨分享,每周準時更新原創技術文章,每月不定期贈送技術書籍,愿我們在更高處相逢。喜歡記得星標?我,每周及時獲得最新推送,第三方轉載請注明出處。