1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

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

        共 5091字,需瀏覽 11分鐘

         ·

        2020-10-27 10:31

        △點(diǎn)擊上方Python貓”關(guān)注 ,回復(fù)“1”領(lǐng)取電子書(shū)

        劇照 |?女王的棋局

        作者 | Juan Cruz Martinez
        譯者 | 劉雅夢(mèng)? 來(lái)源 |?InfoQ
        這些項(xiàng)目構(gòu)想很有可能會(huì)讓你對(duì)這門(mén)神奇的語(yǔ)言產(chǎn)生興趣。最棒的是,你可以通過(guò)這些有趣但也具有挑戰(zhàn)性的項(xiàng)目來(lái)增強(qiáng) Python 編程技能。

        本文最初發(fā)表于 Towards Data Science 博客,由 InfoQ 中文站翻譯并分享。

        你知道 Python 是被稱(chēng)為 全能編程語(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è)用戶(hù)界面呢?

        這是一個(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è)試代碼了?,F(xiàn)在,你可以嘗試在窗口中構(gòu)建一個(gè)非?;镜牡卿洷韱巍?/p>

        這一想法的主要靈活性在于它可以用于游戲開(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 這樣的程序,它們可以比任何專(zhuān)業(yè)的人類(lèi)玩家都能更好地玩 Go(游戲)。你甚至可以獲得類(lèi)似 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é)果?,F(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è)類(lèi)似的 開(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è)虛擬助手。該程序被稱(chēng)為 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)閉房間的窗戶(hù)。
        • 打開(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ī)專(zhuān)家必須手動(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 可以與稱(chēng)為 DBSCAN(Density-Based Spatial Clustering of Applications with Noise,基于密度的帶噪聲的應(yīng)用程序空間聚類(lèi))的機(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ì)檢查其類(lèi)型并相應(yīng)地將其移動(dòng)到特定的文件夾中。

        例如,我們可以跟蹤我們的下載文件夾。現(xiàn)在,當(dāng)一個(gè)新文件被下載時(shí),它會(huì)根據(jù)其類(lèi)型自動(dòng)將其移動(dòng)到另一個(gè)文件夾中。

        .exe 文件很可能是軟件設(shè)置程序,因此將其移至“軟件”文件夾中。而將圖片(png、jpg、gif) 移動(dòng)在“ 圖像”文件夾中。

        通過(guò)這種方式,我們可以組織不同類(lèi)型的文件,以便快速訪問(wèn)。

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

        YouTube 主頁(yè)——圖片來(lái)自 Unsplash

        創(chuàng)建一個(gè)應(yīng)用程序,接受我們需要學(xué)習(xí)的職業(yè)技能名稱(chēng)。

        例如,要成為一名 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)的視頻 / 播放列表。如果有很多類(lèi)似的技能視頻,那么它將選擇觀看次數(shù)、評(píng)論次數(shù)、喜歡次數(shù)最多的視頻。

        然后,程序會(huì)根據(jù)技能將這些視頻分組,并在 GUI 中顯示其縮略圖、標(biāo)題和鏈接。

        它還會(huì)分析每個(gè)視頻的時(shí)長(zhǎng),并匯總,然后告知我們學(xué)習(xí)該職業(yè)道路需要多長(zhǎng)時(shí)間。

        現(xiàn)在,作為一個(gè)用戶(hù),我們可以逐步觀看這些視頻,并成為這一職業(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)化為你引以為豪的東西了。

        ?

        原文鏈接:https://towardsdatascience.com/10-crazy-cool-project-ideas-for-python-developers-d7efeb0a345

        ?

        Python貓技術(shù)交流群開(kāi)放啦!群里既有國(guó)內(nèi)一二線大廠在職員工,也有國(guó)內(nèi)外高校在讀學(xué)生,既有十多年碼齡的編程老鳥(niǎo),也有中小學(xué)剛剛?cè)腴T(mén)的新人,學(xué)習(xí)氛圍良好!想入群的同學(xué),請(qǐng)?jiān)诠?hào)內(nèi)回復(fù)『交流群』,獲取貓哥的微信(謝絕廣告黨,非誠(chéng)勿擾?。?/span>~

        近期熱門(mén)文章推薦:

        Python有序字典的兩個(gè)小“驚喜”~~

        耗時(shí)兩年,我終于出了一本電子書(shū)!

        當(dāng)談?wù)摰鲿r(shí),我談些什么?

        Python 設(shè)計(jì)和歷史的 27 個(gè)問(wèn)題

        感謝創(chuàng)作者的好文
        瀏覽 54
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

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

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            日韩欧美三级在线 | 一级a免做一级a爰片怎么做的 | 国产成人久久精品77777综合 | 四个黑人玩一个少妇四p | 国精产品av | 伦理三级在线观看 | 欧美性白人极品1819hd | 久久网一区 | 欧美插插| 干美女网 |