<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          10 個(gè)瘋狂的 Python 項(xiàng)目創(chuàng)意

          共 4688字,需瀏覽 10分鐘

           ·

          2021-12-19 12:55

          來(lái)源 : InfoQ

          你知道 Python 是被稱為 全能編程語(yǔ)言 的嗎?
          是的,它確實(shí)是,雖然不應(yīng)該在每個(gè)項(xiàng)目中都使用它。
          你可以使用它來(lái)創(chuàng)建桌面應(yīng)用程序、游戲、移動(dòng)應(yīng)用程序、網(wǎng)站和系統(tǒng)軟件。它甚至是最適合用于實(shí)現(xiàn) 人工智能機(jī)器學(xué)習(xí) 算法的語(yǔ)言。
          因此,在過(guò)去的幾周里,我為 Python 開(kāi)發(fā)人員收集了一些獨(dú)特的項(xiàng)目構(gòu)想。這些項(xiàng)目構(gòu)想很有可能會(huì)讓你對(duì)這門(mén)神奇的語(yǔ)言產(chǎn)生興趣。最棒的是,你可以通過(guò)這些有趣但也具有挑戰(zhàn)性的項(xiàng)目來(lái)增強(qiáng)你的 Python 編程技能。
          讓我們來(lái)一一看下。

          ?1. 使用語(yǔ)音命令創(chuàng)建軟件 GUI

          交互示例——原圖來(lái)自 Unsplash
          如今,桌面應(yīng)用程序開(kāi)發(fā)領(lǐng)域已經(jīng)取得了巨大進(jìn)步。你能看到許多拖拽式 GUI 構(gòu)建器和語(yǔ)音識(shí)別庫(kù)。那么,為什么不能將它們結(jié)合在一起,通過(guò)與計(jì)算機(jī)對(duì)話來(lái)創(chuàng)建一個(gè)用戶界面呢?
          這是一個(gè)全新的概念,經(jīng)過(guò)一番研究,我發(fā)現(xiàn)還沒(méi)有人嘗試這樣做。因此,它可能比下面提到的那些更具挑戰(zhàn)性。
          下面是使用 Python 開(kāi)始這個(gè)項(xiàng)目的一些說(shuō)明。首先,你需要用到如下的包:
          • 語(yǔ)音識(shí)別庫(kù)

          • PAGE ——拖拽式 GUI 構(gòu)建器

          • PAGE 的文檔

          • PAGE 是如何工作的視頻

          • 使用 PAGE 創(chuàng)建登錄窗口

          現(xiàn)在,我們的想法是對(duì)一些語(yǔ)音命令進(jìn)行硬編碼,例如:
          你明白我的意思了吧?可以非常簡(jiǎn)單明了地添加更多這樣的命令。
          因?yàn)檫@將是一個(gè) 最小可行性產(chǎn)品 (Minimum Viable Product,MVP)。所以,如果你必須硬編碼許多條件語(yǔ)句(例如,if…else),這是完全可以的。
          設(shè)置完這些基本命令后,就可以測(cè)試代碼了。現(xiàn)在,你可以嘗試在窗口中構(gòu)建一個(gè)非常基本的登錄表單。
          這一想法的主要靈活性在于它可以用于游戲開(kāi)發(fā)、網(wǎng)站和移動(dòng)應(yīng)用程序。即使是使用不同的編程語(yǔ)言也可以。

          ?2. AI 博彩機(jī)器人

          網(wǎng)球比賽——圖片來(lái)自 Unsplash
          博彩是一種人們預(yù)測(cè)結(jié)果的活動(dòng),如果他們猜對(duì)了,就會(huì)得到回報(bào)。在過(guò)去幾年中,人工智能或機(jī)器學(xué)習(xí)領(lǐng)域出現(xiàn)了許多技術(shù)進(jìn)步。
          例如,你可能聽(tīng)說(shuō)過(guò)像 AlphaGo Master、AlphaGo Zero 和 AlphaZero 這樣的程序,它們可以比任何專業(yè)的人類玩家都能更好地玩 Go(游戲)。你甚至可以獲得類似 Leela Zero 這樣程序的 源碼。
          我想表達(dá)的一點(diǎn)是,人工智能正在變得比我們更聰明。這意味著它可以通過(guò)考慮所有的可能性并從過(guò)去的經(jīng)驗(yàn)中學(xué)習(xí)來(lái)更好地預(yù)測(cè)一些事情。
          讓我們?cè)?Python 中應(yīng)用一些有監(jiān)督學(xué)習(xí)的概念創(chuàng)建一個(gè) AI 博彩機(jī)器人吧。要開(kāi)始本項(xiàng)目,這里有一些你需要使用到的庫(kù)。
          • pandas——數(shù)據(jù)分析

          • NumPy——多維數(shù)組、矩陣和數(shù)學(xué)函數(shù)

          • scikit-learn ——機(jī)器學(xué)習(xí)

          • XGBoost —— 梯度提升(Gradient Boosting)

          • Matplotlib ——繪圖

          • seaborn ——統(tǒng)計(jì)數(shù)據(jù)可視化

          • pickle ——Python 對(duì)象序列化

          首先,你需要選擇一種比賽(例如網(wǎng)球、足球等)來(lái)預(yù)測(cè)結(jié)果。現(xiàn)在搜索可用于訓(xùn)練模型的歷史匹配結(jié)果數(shù)據(jù)。
          例如,.csv 格式的網(wǎng)球比賽數(shù)據(jù)可以從 tennis-data.co.uk 網(wǎng)站上下載。
          如果你對(duì)博彩不了解,下面是它的工作原理。
          • 你可以在 Roger Federer 身上以 1.3 的賠率押 10 美元。

          • 如果他獲勝,你將獲得 10 美元(實(shí)際金額),外加 3 美元(利潤(rùn))。

          • 如果他輸了,你也會(huì)輸?shù)裟愕腻X(qián)(例如,10 美元)。

          訓(xùn)練完模型后,我們必須計(jì)算每個(gè)預(yù)測(cè)的置信水平(Confidence Level),通過(guò)檢查預(yù)測(cè)正確的次數(shù)來(lái)了解機(jī)器人的表現(xiàn),最后還要關(guān)注投資回報(bào)率(ROI)。
          可以下載由 Edouard Thomas 開(kāi)發(fā)的一個(gè)類似的 開(kāi)源 AI 博彩機(jī)器人項(xiàng)目(https://github.com/edouardthom/ATPBetting)。

          ?3. 交易機(jī)器人

          交易——圖片來(lái)自 Unsplash
          交易機(jī)器人與上一個(gè)項(xiàng)目非常相似,因?yàn)樗残枰?AI 來(lái)進(jìn)行預(yù)測(cè)。
          現(xiàn)在的問(wèn)題是,AI 是否可以正確地預(yù)測(cè)股價(jià)的波動(dòng)?
          當(dāng)然,答案是肯定的。
          在開(kāi)始之前,我們需要一些數(shù)據(jù)來(lái)開(kāi)發(fā)一個(gè)交易機(jī)器人。
          • Yahoo Finance —— 獲取股票數(shù)據(jù)

          • Alpha Vantage —— 用于金融數(shù)據(jù)的實(shí)時(shí) API

          這些來(lái)自投資百科(Investopedia)的資源可能有助于訓(xùn)練機(jī)器人。
          • 初學(xué)者的交易策略

          • 只有通過(guò)了這五步測(cè)試才能進(jìn)行交易

          讀完這兩篇文章后,你會(huì)對(duì)什么時(shí)候買(mǎi)股票,什么時(shí)候賣(mài)股票有一個(gè)更好的理解。這些知識(shí)可以很容易地轉(zhuǎn)換為 Python 程序,從而自動(dòng)地為我們做出決策。
          你也可以參考這個(gè)名為 freqtrade (https://github.com/freqtrade/freqtrade)的開(kāi)源交易機(jī)器人。它使用 Python 構(gòu)建,并實(shí)現(xiàn)了多種機(jī)器學(xué)習(xí)算法。

          ?4. 鋼鐵俠 Jarvis(基于 AI 的虛擬助手)

          AI 助手界面——圖片來(lái)自 Unsplash
          這個(gè)想法取材于好萊塢電影《鋼鐵俠》系列。這部電影圍繞著科技、機(jī)器人和 AI 展開(kāi)。
          在這里,鋼鐵俠用人工智能為自己打造了一個(gè)虛擬助手。該程序被稱為 Jarvis,可以幫助鋼鐵俠完成日常任務(wù)。
          鋼鐵俠使用簡(jiǎn)單的英語(yǔ)向 Jarvis 發(fā)出指令,Jarvis 也用英語(yǔ)回應(yīng)。這意味著我們的程序需要語(yǔ)音識(shí)別以及文本轉(zhuǎn)語(yǔ)音的功能。
          建議使用這些庫(kù):
          • 語(yǔ)音識(shí)別

          • 文字轉(zhuǎn)語(yǔ)音 (TTS)

          現(xiàn)在,你可以對(duì)語(yǔ)音命令進(jìn)行硬編碼,例如:
          你還可以使用 Jarvis 執(zhí)行其他很多任務(wù),例如:
          • 設(shè)置手機(jī)鬧鐘。

          • 不停地檢查家里的監(jiān)控?cái)z像頭,并告知是否有人在外面等著。你可以添加更多的功能,如人臉檢測(cè)和識(shí)別。它可以幫助你了解外面有哪些人或者有多少人。

          • 打開(kāi) / 關(guān)閉房間的窗戶。

          • 打開(kāi) / 關(guān)閉燈。

          • 自動(dòng)回復(fù)電子郵件。

          • 安排任務(wù)。

          甚至連 Facebook 的創(chuàng)始人“馬克·扎克伯格”(Mark Zuckerberg)都將 Jarvis 作為一個(gè)輔助項(xiàng)目。

          ?5. 監(jiān)控某個(gè)網(wǎng)站以了解即將舉行的藝術(shù)家演唱會(huì)

          門(mén)票——圖片來(lái)自 Unsplash
          Songkick 是一項(xiàng)非常受歡迎的服務(wù),它可以提供有關(guān)即將舉行的音樂(lè)會(huì)的信息。其 API 可用于通過(guò)以下方式搜索即將舉行的音樂(lè)會(huì):
          • 藝術(shù)家

          • 位置

          • 會(huì)場(chǎng)

          • 日期和時(shí)間

          你可以創(chuàng)建一個(gè) Python 腳本,使用 Songkick 的 API 每天檢查某個(gè)特定的音樂(lè)會(huì)。最后,只要有音樂(lè)會(huì),就給自己發(fā)一封電子郵件。
          有時(shí) Songkick 甚至?xí)谄渚W(wǎng)站上顯示“購(gòu)票”鏈接。但是,這個(gè)鏈接可以針對(duì)不同的音樂(lè)會(huì)轉(zhuǎn)到不同的網(wǎng)站上。這意味著即使我們利用網(wǎng)絡(luò)抓取,也很難自動(dòng)購(gòu)票。
          相反,我們可以簡(jiǎn)單地顯示“購(gòu)票”鏈接,就像它在我們的應(yīng)用程序中一樣,以便進(jìn)行手動(dòng)操作。
          6. 自動(dòng)續(xù)訂 Let’s Encrypt 的免費(fèi) SSL 證書(shū)
          Let’s Encrypt 是一個(gè)提供免費(fèi) SSL 證書(shū)的證書(shū)頒發(fā)機(jī)構(gòu)。但是,問(wèn)題在于該證書(shū)的有效期只有 90 天。90 天后,你必須續(xù)訂。
          我認(rèn)為,這是使用 Python 實(shí)現(xiàn)自動(dòng)化的一個(gè)絕佳場(chǎng)景。我們可以編寫(xiě)一些代碼,在網(wǎng)站 SSL 證書(shū)到期之前自動(dòng)續(xù)訂。
          可以在 GitHub (https://github.com/jaygreco/PA_SSL_AutoRenew)上查看這段代碼 以尋找靈感。

          ?7. 識(shí)別人群中的個(gè)人

          人臉識(shí)別——作者的照片
          如今,政府已在公共場(chǎng)所安裝了監(jiān)控?cái)z像頭,以提高公民的安全性。這些攝像頭大多只是用于錄制視頻,法醫(yī)專家必須手動(dòng)識(shí)別或跟蹤個(gè)人。
          如果我們創(chuàng)建一個(gè) Python 程序來(lái)實(shí)時(shí)識(shí)別攝像頭中的每個(gè)人會(huì)怎么樣呢?首先,我們需要訪問(wèn)國(guó)家身份證數(shù)據(jù)庫(kù),但我們可能沒(méi)有權(quán)限訪問(wèn)。
          所以,一個(gè)簡(jiǎn)單的選擇是創(chuàng)建一個(gè)包含家庭成員記錄的數(shù)據(jù)庫(kù)。
          然后,可以使用一個(gè) 人臉識(shí)別庫(kù)(https://pypi.org/project/face-recognition/),并將其與攝像頭的輸出連接起來(lái)。

          ?8. 接觸者追蹤

          接觸者追蹤應(yīng)用程序——圖片來(lái)自 Unsplash
          接觸者追蹤是一種識(shí)別所有在特定時(shí)間段內(nèi)相互接觸的人的方法。它主要用于像 COVID-19 或 HIV 這樣的大流行病。因?yàn)闆](méi)有任何關(guān)于誰(shuí)被感染了的數(shù)據(jù),我們無(wú)法阻止其傳播。
          Python 可以與稱為 DBSCAN(Density-Based Spatial Clustering of Applications with Noise,基于密度的帶噪聲的應(yīng)用程序空間聚類)的機(jī)器學(xué)習(xí)算法一起用于接觸者追蹤。
          由于這只是一個(gè)附屬項(xiàng)目,因此我們無(wú)法獲得任何官方數(shù)據(jù)。目前,最好使用 Mockaroo 生成一些實(shí)際的測(cè)試數(shù)據(jù)。
          你可以查看 這篇文章(https://towardsdatascience.com/contact-tracing-using-less-than-30-lines-of-python-code-6c5175f5385f) 以了解具體代碼實(shí)現(xiàn)。

          ?9. 自動(dòng)將文件從一個(gè)文件夾移動(dòng)到另一個(gè)文件夾

          Ubuntu 的的 Nautilus 文件管理器——圖片由作者上傳
          這是一個(gè)非常基本的 Python 程序,始終監(jiān)視某個(gè)文件夾,每當(dāng)有文件添加到該文件夾中時(shí),它都會(huì)檢查其類型并相應(yīng)地將其移動(dòng)到特定的文件夾中。
          例如,我們可以跟蹤我們的下載文件夾。現(xiàn)在,當(dāng)一個(gè)新文件被下載時(shí),它會(huì)根據(jù)其類型自動(dòng)將其移動(dòng)到另一個(gè)文件夾中。
          .exe 文件很可能是軟件設(shè)置程序,因此將其移至“軟件”文件夾中。而將圖片(png、jpg、gif) 移動(dòng)在“ 圖像”文件夾中。
          通過(guò)這種方式,我們可以組織不同類型的文件,以便快速訪問(wèn)。

          ?10. 從 YouTube 上收集職業(yè)道路相關(guān)的視頻

          YouTube 主頁(yè)——圖片來(lái)自 Unsplash
          創(chuàng)建一個(gè)應(yīng)用程序,接受我們需要學(xué)習(xí)的職業(yè)技能名稱。
          例如,要成為一名 Web 開(kāi)發(fā)人員,我們需要學(xué)習(xí):
          • HTML5

          • CSS3

          • JavaScript

          • 后端語(yǔ)言(PHP、Node.js、 Python、ASP.NET、或 Java)

          • Bootstrap 4

          • WordPress

          • 后端框架 (Laravel、Codeigniter、Django、Flask 等)

          • 等等。

          輸入技能后,會(huì)有一個(gè)“生成職業(yè)道路”按鈕。它指導(dǎo)我們的程序搜索 YouTube,并根據(jù)每種技能選擇相關(guān)的視頻 / 播放列表。如果有很多類似的技能視頻,那么它將選擇觀看次數(shù)、評(píng)論次數(shù)、喜歡次數(shù)最多的視頻。
          然后,程序會(huì)根據(jù)技能將這些視頻分組,并在 GUI 中顯示其縮略圖、標(biāo)題和鏈接。
          它還會(huì)分析每個(gè)視頻的時(shí)長(zhǎng),并匯總,然后告知我們學(xué)習(xí)該職業(yè)道路需要多長(zhǎng)時(shí)間。
          現(xiàn)在,作為一個(gè)用戶,我們可以逐步觀看這些視頻,并成為這一職業(yè)的大師。
          結(jié)論
          通過(guò)這些獨(dú)特的編程項(xiàng)目來(lái)挑戰(zhàn)自己,可以讓自己保持活力,提高技能,并能幫助你探索新的可能性。
          我上面提到的一些項(xiàng)目構(gòu)想也可以用作你的畢業(yè)設(shè)計(jì)。
          現(xiàn)在是時(shí)候用 Python 編程語(yǔ)言展示你的創(chuàng)造力,并將這些構(gòu)想轉(zhuǎn)化為你引以為豪的東西了。


          加入知識(shí)星球【我們談?wù)摂?shù)據(jù)科學(xué)】

          400+小伙伴一起學(xué)習(xí)!








          ·?推薦閱讀?·

          「Python實(shí)用秘技01」復(fù)雜zip文件的解壓

          pandas常用字符串處理方法看這一篇就夠了

          geopandas輕松繪制交互式在線地圖


          瀏覽 55
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  免费在线看黄色片 | 青青草手机看片爱爱爱 | 狠狠躁日日躁夜夜躁A片2022 | 啊啊啊插笔网站 | 青精品视频在线 |