人工智能應(yīng)用基礎(chǔ) 課件 第三章 Python基礎(chǔ)與人工智能應(yīng)用開發(fā)_第1頁(yè)
人工智能應(yīng)用基礎(chǔ) 課件 第三章 Python基礎(chǔ)與人工智能應(yīng)用開發(fā)_第2頁(yè)
人工智能應(yīng)用基礎(chǔ) 課件 第三章 Python基礎(chǔ)與人工智能應(yīng)用開發(fā)_第3頁(yè)
人工智能應(yīng)用基礎(chǔ) 課件 第三章 Python基礎(chǔ)與人工智能應(yīng)用開發(fā)_第4頁(yè)
人工智能應(yīng)用基礎(chǔ) 課件 第三章 Python基礎(chǔ)與人工智能應(yīng)用開發(fā)_第5頁(yè)
已閱讀5頁(yè),還剩164頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Python基礎(chǔ)與人工智能應(yīng)用開發(fā)目錄01Python概述與開發(fā)環(huán)境配置02Python語(yǔ)法基礎(chǔ)與數(shù)據(jù)類型03運(yùn)算符與程序流程控制04模塊、庫(kù)與文件操作【本章導(dǎo)學(xué)】Python作為一種簡(jiǎn)單易學(xué)、功能強(qiáng)大的編程語(yǔ)言,已經(jīng)成為數(shù)據(jù)科學(xué)、人工智能、Web開發(fā)等領(lǐng)域的首選語(yǔ)言。在本章中,您將學(xué)習(xí)Python的基本語(yǔ)法、變量與數(shù)據(jù)類型、運(yùn)算符、輸入輸出、條件判斷、循環(huán)結(jié)構(gòu)和基本的列表與字典操作等內(nèi)容。通過(guò)一系列的實(shí)例與練習(xí),您將能夠編寫出簡(jiǎn)單的Python程序,了解編程的邏輯與流程,為后續(xù)深入學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)?!緦W(xué)習(xí)目標(biāo)】1.了解Python編程的基本概念:掌握Python的發(fā)展歷程、安裝與環(huán)境配置,熟悉Python解釋器和編程環(huán)境的使用。2.掌握Python的基礎(chǔ)語(yǔ)法:理解變量與數(shù)據(jù)類型的概念,能夠進(jìn)行基本的數(shù)據(jù)輸入與輸出,掌握運(yùn)算符與表達(dá)式的使用方法。3.運(yùn)用控制結(jié)構(gòu):熟悉條件判斷語(yǔ)句(if語(yǔ)句)和循環(huán)結(jié)構(gòu)(for、while循環(huán))的使用,能夠根據(jù)不同情況編寫相應(yīng)的控制邏輯,實(shí)現(xiàn)程序的邏輯控制。了解函數(shù)的定義與調(diào)用方法?!緦W(xué)習(xí)導(dǎo)覽】01Python概述與開發(fā)環(huán)境配置Python的起源和發(fā)展起源:1980年代末期,GuidovanRossum受ABC編程語(yǔ)言啟發(fā),決定開發(fā)Python。1989年圣誕節(jié)期間開始開發(fā),命名來(lái)源于他喜愛(ài)的英國(guó)喜劇團(tuán)體“蒙提·派森”。發(fā)展:1991年發(fā)布第一個(gè)公開版本0.9.0,包含模塊、異常處理、核心數(shù)據(jù)類型。1994年推出Python1.0,加入lambda等功能。2000年發(fā)布Python2.0,支持垃圾回收和列表推導(dǎo)。2008年發(fā)布Python3.0,修復(fù)設(shè)計(jì)問(wèn)題,不兼容舊版本。2014年支持異步編程,2018年引入數(shù)據(jù)類。當(dāng)前版本:最新穩(wěn)定版:Python3.12.5。Python3.13預(yù)計(jì)于2024年10月發(fā)布。Python的優(yōu)點(diǎn):簡(jiǎn)潔性與跨平臺(tái)性易讀性和簡(jiǎn)潔性:語(yǔ)法接近自然語(yǔ)言,代碼結(jié)構(gòu)清晰,減少初學(xué)者的學(xué)習(xí)曲線。簡(jiǎn)潔語(yǔ)法使得編寫和維護(hù)代碼更容易。跨平臺(tái)性:可在Windows、macOS、Linux等多種操作系統(tǒng)上運(yùn)行。安裝Python解釋器后,幾乎不需要修改代碼即可在不同平臺(tái)上運(yùn)行。動(dòng)態(tài)類型和自動(dòng)內(nèi)存管理:動(dòng)態(tài)類型語(yǔ)言:變量在運(yùn)行時(shí)綁定對(duì)象類型。自動(dòng)內(nèi)存管理:通過(guò)引用計(jì)數(shù)和垃圾回收機(jī)制管理內(nèi)存。Python的優(yōu)點(diǎn):強(qiáng)大庫(kù)支持與編程范式強(qiáng)大的標(biāo)準(zhǔn)庫(kù)和第三方庫(kù):涵蓋文件I/O、系統(tǒng)調(diào)用、網(wǎng)絡(luò)通信、數(shù)據(jù)處理、文本處理等多個(gè)方面。常見(jiàn)庫(kù):Pandas、NumPy、TensorFlow、Django、Flask等。支持多種編程范式:支持面向?qū)ο缶幊?、過(guò)程式編程和函數(shù)式編程,靈活適應(yīng)不同問(wèn)題。Python的優(yōu)點(diǎn):社區(qū)支持與應(yīng)用領(lǐng)域強(qiáng)大的社區(qū)支持:龐大的開發(fā)者社區(qū),貢獻(xiàn)代碼、文檔、教程等。豐富的文檔和在線資源幫助開發(fā)者快速上手和解決問(wèn)題??蓴U(kuò)展性和集成性:可與C、C++、Java等語(yǔ)言集成,使用C擴(kuò)展提高性能。廣泛的應(yīng)用領(lǐng)域:包括Web開發(fā)(Django、Flask)、數(shù)據(jù)科學(xué)(Pandas、NumPy)、機(jī)器學(xué)習(xí)、自動(dòng)化、系統(tǒng)管理等領(lǐng)域。Python開發(fā)工具與環(huán)境常見(jiàn)IDE:PyCharm:提供智能代碼編輯、調(diào)試、版本控制和測(cè)試工具。VisualStudioCode(VSCode):開源,插件豐富,適用于多種編程語(yǔ)言。JupyterNotebook:適合數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí),支持交互式編程。Spyder:專為科學(xué)計(jì)算設(shè)計(jì),集成了強(qiáng)大的科學(xué)庫(kù)。IDLE:官方自帶的輕量級(jí)IDE,適合簡(jiǎn)單開發(fā)。常用代碼編輯器:SublimeText:支持多語(yǔ)言和插件。Atom:開源且支持多語(yǔ)言。版本控制工具:

Git和Mercurial:管理代碼、版本和協(xié)作開發(fā)。虛擬環(huán)境管理工具:

virtualenv和conda:創(chuàng)建隔離的Python環(huán)境,確保不同項(xiàng)目有不同的依賴版本。測(cè)試工具:

pytest和unittest:用于編寫和運(yùn)行單元測(cè)試及功能測(cè)試。本書開發(fā)環(huán)境:主要使用PyCharm作為開發(fā)環(huán)境。安裝Python解釋器(1)下載流程1)訪問(wèn)python官網(wǎng):/downloads/。單擊“Downloads”后,選擇“Windows”系統(tǒng),如圖3-1所示。圖3-1Downloads安裝Python解釋器2)選擇合適的Python版本。單擊后,跳轉(zhuǎn)到下一個(gè)頁(yè)面,如圖3-2所示。Python3.8.0簡(jiǎn)潔易學(xué),新增功能如賦值表達(dá)式、增強(qiáng)f-string,提升代碼可讀性,非常適合初學(xué)者。跳轉(zhuǎn)到如下頁(yè)面后尋找Python3.8.0版本,選擇64位的下載,如圖3-3所示。圖3-2Windows版本圖3-3Python3.8.0安裝Python解釋器3)下載完成后單擊運(yùn)行,出現(xiàn)以下界面,如圖3-4所示。需要全部勾選再下載(1提示框勾選后下載完成環(huán)境變量就已配置完成;2提示框文件下載的路徑為python解釋器下載的默認(rèn)路徑)。圖3-4安裝安裝Python解釋器4)出現(xiàn)如圖3-5所示則表示安裝成功,單擊Close關(guān)閉提示框。圖3-5安裝成功安裝Python解釋器5)安裝成功后,用win+R打開命令提示符窗口,輸入cmd后回車,如圖3-6所示。圖3-6cmd安裝Python解釋器6)檢查Python是否安裝成功。在命令提示符窗口中輸入python,出現(xiàn)以下界面則為安裝成功。看見(jiàn)>>>提示符表明已經(jīng)在python交互式環(huán)境中。輸入指令exit()然后回車就可退出python交互式環(huán)境。若輸入python出現(xiàn)‘python’不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件??赡苁且?yàn)樵诎惭bPython時(shí)未勾選“AddPython3.8toPATH”這一選項(xiàng),那就需要手動(dòng)將python.exe所在路徑添加到Path中,如圖3-7所示。圖3-7添加路徑下載Pycharm(1)訪問(wèn)官網(wǎng)打開瀏覽器,訪問(wèn)JetBrains官方網(wǎng)站/pycharm/download。(2)選擇版本1)你會(huì)看到兩個(gè)版本的PyCharm:Professional和Community。Professional:這是收費(fèi)版本,適用于企業(yè)開發(fā),提供了更多高級(jí)功能,如數(shù)據(jù)庫(kù)工具、Web框架支持等。Community:這是免費(fèi)版本,適用于一般的Python開發(fā)需求。2)根據(jù)你的需求選擇,這里選擇Community社區(qū)版即可,如圖3-8所示。圖3-8安裝Pycharm下載Pycharm3.安裝Pycharm(1)下載安裝包下載完成后,找到下載的安裝包文件,雙擊運(yùn)行安裝程序。(2)安裝過(guò)程1)運(yùn)行下載的.exe文件。2)在安裝向?qū)е羞x擇安裝路徑和其他安裝選項(xiàng),然后單擊Next,如圖3-9所示。圖3-9下一步下載Pycharm3)單擊更改文件目錄,注意安裝位置,如圖3-10所示。圖3-10安裝路徑下載Pycharm4)全部勾選,單擊下一步,如圖3-11所示。圖3-11勾選必要的內(nèi)容下載Pycharm5)單擊安裝,如圖3-12所示。圖3-12安裝下載Pycharm6)選擇“否,我會(huì)在之后重新啟動(dòng)”,再單擊“完成”,如圖3-13所示。圖3-13安裝完成下載Pycharm(1)首次啟動(dòng)安裝完成后,首次啟動(dòng)PyCharm時(shí)會(huì)看到歡迎屏幕。(2)創(chuàng)建或打開項(xiàng)目1)創(chuàng)建新項(xiàng)目。在歡迎屏幕上,單擊NewProject選項(xiàng)創(chuàng)建新項(xiàng)目,如圖3-14所示。圖3-14創(chuàng)建新項(xiàng)目下載Pycharm設(shè)置項(xiàng)目名稱,如圖3-15所示。圖3-15創(chuàng)建項(xiàng)目名稱下載Pycharm選擇項(xiàng)目的存放路徑,如圖3-16。圖3-16路徑下載Pycharm選擇Python解釋器,可以選擇已有解釋器或新建虛擬環(huán)境,推薦選擇已有解釋器,如圖3-17所示。圖3-17選擇解釋器Pycharm使用1.新建文件夾1)打開項(xiàng)目:?jiǎn)?dòng)PyCharm并打開你要操作的項(xiàng)目。2)選擇文件夾:右鍵單擊你想要新建文件夾的父文件夾,如圖3-18所示。圖3-18父文件夾Pycharm使用3)新建文件夾:在右鍵菜單中選擇New>Directory,如圖3-19所示。圖3-19新建文件夾Pycharm使用4)命名文件夾:在彈出的對(duì)話框中輸入文件夾名稱,然后回車,如圖3-20所示。(5)管理文件夾:新建的文件夾會(huì)出現(xiàn)在項(xiàng)目視圖中,你可以在其中創(chuàng)建文件或子文件夾。圖3-20文件夾名稱Pycharm使用2.新建文件1)打開項(xiàng)目:?jiǎn)?dòng)PyCharm并打開你要操作的項(xiàng)目。2)選擇文件夾:在項(xiàng)目視圖(ProjectView)中,右鍵單擊你想要新建文件的文件夾。3)新建文件:在右鍵菜單中選擇New>選擇想要新建的文件類型,如圖3-21。圖3-21新建文件類型Pycharm使用4)命名文件:在彈出的對(duì)話框中輸入文件名,然后回車,如圖3-22所示。5)編輯文件:新的Python文件會(huì)在編輯器中打開,你可以開始編寫代碼。圖3-22輸入文件名Pycharm使用3.代碼編寫1)代碼編輯:PyCharm提供智能代碼補(bǔ)全、語(yǔ)法高亮、錯(cuò)誤檢查和快速修復(fù)等功能。開始編寫代碼時(shí),PyCharm會(huì)自動(dòng)建議和補(bǔ)全代碼,如圖3-23和圖3-24所示。圖3-23程序代碼圖3-24錯(cuò)誤提示Pycharm使用2)代碼格式化:使用快捷鍵Ctrl+Alt+L(Windows/Linux)或Cmd+Alt+L(macOS)可以格式化代碼,使其符合代碼風(fēng)格指南。3)重構(gòu):右鍵單擊代碼選擇Refactor,可以進(jìn)行重命名、移動(dòng)、復(fù)制、刪除等操作,PyCharm會(huì)自動(dòng)更新相關(guān)引用,如果3-25所示。圖3-25重命名Pycharm使用4.代碼調(diào)試1)設(shè)置斷點(diǎn):在代碼行號(hào)左側(cè)單擊,可以設(shè)置斷點(diǎn)。2)啟動(dòng)調(diào)試:?jiǎn)螕艄ぞ邫谏系腄ebug按鈕(或使用快捷鍵Shift+F9),程序會(huì)在斷點(diǎn)處暫停,如圖3-26所示。圖3-26Debug按鈕Pycharm使用4.代碼調(diào)試1)設(shè)置斷點(diǎn):在代碼行號(hào)左側(cè)單擊,可以設(shè)置斷點(diǎn)。2)啟動(dòng)調(diào)試:?jiǎn)螕艄ぞ邫谏系腄ebug按鈕(或使用快捷鍵Shift+F9),程序會(huì)在斷點(diǎn)處暫停,如圖3-26所示。3)調(diào)試窗口:使用調(diào)試窗口查看變量值、表達(dá)式計(jì)算和程序執(zhí)行流程。可以逐步執(zhí)行代碼、跳入函數(shù)、跳出函數(shù)等。圖3-26Debug按鈕Pycharm使用5.運(yùn)行單擊工具欄上的Run按鈕(或使用快捷鍵Shift+F10),可以運(yùn)行當(dāng)前文件,如圖3-27所示。圖3-27運(yùn)行程序(1)Pycharm使用右鍵單擊空白處選擇“Run”命令也可以運(yùn)行當(dāng)前文件,如圖3-28所示。圖3-28運(yùn)行程序(2)Pycharm使用右鍵單擊空白處選擇“Run”命令也可以運(yùn)行當(dāng)前文件,如圖3-28所示。圖3-28運(yùn)行程序(2)02Python語(yǔ)法基礎(chǔ)與數(shù)據(jù)類型代碼格式1.提高代碼質(zhì)量增強(qiáng)可讀性:統(tǒng)一的代碼風(fēng)格提高了代碼的簡(jiǎn)潔性和一致性。簡(jiǎn)化溝通成本:團(tuán)隊(duì)協(xié)作中,統(tǒng)一的格式減少了溝通的復(fù)雜性。加快代碼審查和合并:格式一致的代碼審查與合并更加高效。2.幫助新開發(fā)者快速融入新加入的開發(fā)者能夠快速理解并融入項(xiàng)目,降低學(xué)習(xí)曲線。3.增強(qiáng)代碼可維護(hù)性和擴(kuò)展性清晰的邏輯結(jié)構(gòu):格式規(guī)范的代碼容易理解和跟蹤,減少錯(cuò)誤。適應(yīng)大型項(xiàng)目:規(guī)范化的代碼避免了混亂和難以維護(hù)的情況。4.提高開發(fā)效率統(tǒng)一的格式幫助提高開發(fā)效率,確保項(xiàng)目順利推進(jìn),促進(jìn)團(tuán)隊(duì)協(xié)作。Python注釋概述注釋的作用注釋用于為代碼添加解釋、說(shuō)明或備注,幫助開發(fā)者理解代碼的意圖和功能。注釋不會(huì)被Python解釋器執(zhí)行,因此它們對(duì)代碼的運(yùn)行沒(méi)有任何影響。注釋是提高代碼可讀性、可維護(hù)性和一致性的工具,尤其在團(tuán)隊(duì)協(xié)作中尤為重要。注釋的重要性可讀性:代碼本身不一定能夠完全清晰地表達(dá)意圖,注釋可以彌補(bǔ)這部分??删S護(hù)性:解釋復(fù)雜的代碼或算法,方便后期維護(hù)。一致性:確保團(tuán)隊(duì)成員對(duì)同一段代碼有相同的理解,減少錯(cuò)誤。注釋的核心功能1.提高代碼的可讀性注釋使代碼更易于理解,尤其是在處理復(fù)雜邏輯或算法時(shí)。它為新加入的開發(fā)者提供了快速了解代碼的方式,避免了重復(fù)的解釋工作。2.增強(qiáng)代碼的可維護(hù)性通過(guò)詳細(xì)的注釋,開發(fā)者能夠輕松理解他人寫的代碼,也能在后期進(jìn)行有效的修改和擴(kuò)展。在代碼中標(biāo)記TODO或FIXME等注釋,有助于管理技術(shù)債務(wù)。3.確保一致性當(dāng)代碼更新或修改時(shí),相關(guān)的注釋也應(yīng)進(jìn)行及時(shí)更新,確保注釋與代碼一致。團(tuán)隊(duì)成員可以通過(guò)注釋了解代碼的背景、已知問(wèn)題、技術(shù)選擇等,確保協(xié)作時(shí)理解一致。單行注釋單行注釋定義單行注釋使用#符號(hào)開頭,后面的所有內(nèi)容會(huì)被視為注釋。注釋的內(nèi)容在這一行內(nèi),可以放置代碼后,也可以單獨(dú)占一行。示例#這是一個(gè)單行注釋print("Hello,World!")#這也是一個(gè)單行注釋第一行注釋位于代碼行的上方。第二行注釋位于代碼行的右側(cè),說(shuō)明代碼的作用。單行注釋-使用場(chǎng)景解釋代碼功能對(duì)每行代碼或代碼塊進(jìn)行簡(jiǎn)短解釋,幫助理解其用途。x=10#初始化變量x為10標(biāo)記待辦事項(xiàng)使用#TODO標(biāo)記需要完成的工作項(xiàng)。#TODO:添加錯(cuò)誤處理臨時(shí)禁用代碼在調(diào)試時(shí)注釋掉暫時(shí)不需要的代碼行。#print("Thislineiscommentedoutandwon'trun")提高代碼可讀性為復(fù)雜代碼添加簡(jiǎn)短注釋,提升理解。foriinrange(5):print(i)#打印從0到4的數(shù)字多行注釋多行注釋定義多行注釋用于跨越多行的注釋,通常通過(guò)三重引號(hào)('''或""")來(lái)實(shí)現(xiàn)。即使沒(méi)有賦值給變量,這些三重引號(hào)內(nèi)的內(nèi)容也會(huì)被視為注釋。"""這是一個(gè)多行注釋的示例。它可以跨越多行,用于提供更詳細(xì)的解釋或備注。"""print("Hello,World!")'''這是另一個(gè)多行注釋的示例。也可以跨越多行。'''在上述示例中,三重引號(hào)包裹的內(nèi)容被視為注釋。多行注釋-使用場(chǎng)景詳細(xì)說(shuō)明代碼塊多行注釋通常用于對(duì)函數(shù)、類或復(fù)雜代碼塊進(jìn)行詳細(xì)描述。"""這個(gè)函數(shù)用于計(jì)算兩個(gè)數(shù)的和。參數(shù):a(int):第一個(gè)整數(shù),b(int):第二個(gè)整數(shù)。返回:int:兩個(gè)整數(shù)的和"""defadd(a,b):returna+b注釋掉大段代碼在臨時(shí)禁用多個(gè)代碼行時(shí),可以使用多行注釋,特別是當(dāng)需要注釋一整段代碼時(shí)。'''print("Thisisatest.")print("Thislineisalsocommentedout.")'''行與空格概述行的重要性Python代碼是由一行行代碼組成,每行代碼通常代表一個(gè)語(yǔ)句或表達(dá)式。每個(gè)語(yǔ)句一般獨(dú)占一行,稱為單行語(yǔ)句。良好的行結(jié)構(gòu)使代碼更加簡(jiǎn)潔、易讀和維護(hù)。行的使用規(guī)則1.每行代碼通常包含一個(gè)語(yǔ)句避免將多個(gè)語(yǔ)句放在同一行,這樣代碼更清晰易懂。print("Hello,World!")x=10y=202.處理長(zhǎng)語(yǔ)句使用反斜杠\:可以將長(zhǎng)語(yǔ)句拆分成多行。total=1+2+3+\4+5+6使用括號(hào):可以使用括號(hào)(圓括號(hào)()、方括號(hào)[]或花括號(hào){})將表達(dá)式分成多行,且不需要反斜杠。total=(1+2+3+4+5+6)空格的使用1.空格的基本作用空格用于分隔代碼中的單詞和操作符,使代碼更具可讀性。x=10y=20result=x+y2.縮進(jìn)的作用縮進(jìn)用于定義代碼塊的結(jié)構(gòu),是Python語(yǔ)法的一部分。代碼塊是由多個(gè)語(yǔ)句組成的代碼組,它們共同執(zhí)行特定任務(wù)。Python使用縮進(jìn)來(lái)表示代碼塊的開始和結(jié)束,而不像其他語(yǔ)言使用大括號(hào){}。Python縮進(jìn)規(guī)則1.縮進(jìn)的基本規(guī)則縮進(jìn)通常由四個(gè)空格組成??梢允褂弥票矸═ab),但Python社區(qū)推薦使用空格。一致性是關(guān)鍵,所有屬于同一代碼塊的語(yǔ)句必須具有相同的縮進(jìn)。2.示例代碼條件語(yǔ)句(if)和其他控制結(jié)構(gòu)(如循環(huán)、函數(shù)定義)都依賴于縮進(jìn)。ifx>0:print("xispositive")else:print("xisnon-positive")Python縮進(jìn)規(guī)則轉(zhuǎn)義字符概述轉(zhuǎn)義字符的定義轉(zhuǎn)義字符用于在字符串中插入無(wú)法直接表示的字符,如換行符、制表符等。轉(zhuǎn)義字符通常以反斜杠\開頭,后跟一個(gè)或多個(gè)字符,表示特定的特殊字符或控制序列。表3-1常見(jiàn)的轉(zhuǎn)義字符\n換行符\n\t制表符\t\r回車符\r\b退格符\b轉(zhuǎn)義字符示例1.換行符\n在字符串中插入換行符,使文本換行顯示。text="Hello,World!\nWelcometoPython."print(text)2.制表符\t在字符串中插入制表符,使文本按列對(duì)齊。text="Column1\tColumn2\tColumn3"print(text)轉(zhuǎn)義字符示例1.換行符\n在字符串中插入換行符,使文本換行顯示。text="Hello,World!\nWelcometoPython."print(text)2.制表符\t在字符串中插入制表符,使文本按列對(duì)齊。text="Column1\tColumn2\tColumn3"print(text)輸入函數(shù)-input()輸入概述Python提供了input()函數(shù)來(lái)從控制臺(tái)獲取用戶輸入。input()函數(shù)暫停程序,等待用戶輸入并返回輸入的字符串。input("提示信息")提示信息:可選參數(shù),顯示在控制臺(tái)中引導(dǎo)用戶輸入。返回值返回的是用戶輸入的字符串,數(shù)據(jù)類型始終為字符串。使用input()獲取用戶輸入示例代碼name=input("請(qǐng)輸入您的姓名:")print(f"您好,{name}!")這段代碼使用input()獲取用戶的姓名,并打印一個(gè)問(wèn)候信息。輸出示例請(qǐng)輸入您的姓名:Alice您好,Alice!【項(xiàng)目實(shí)例3.1】生成個(gè)性化郵件:創(chuàng)建一個(gè)新的python文檔,命名為XXXXX.py。代碼要能夠根據(jù)用戶輸入的信息生成個(gè)性化的電子郵件內(nèi)容。郵件內(nèi)容包括問(wèn)候語(yǔ)、正文和結(jié)尾。要求1.使用合理的注釋對(duì)代碼進(jìn)行解釋,包括多行注釋和單行注釋。2.使用適當(dāng)?shù)目崭?,使代碼易于閱讀。3.使用轉(zhuǎn)義字符處理特殊字符。標(biāo)識(shí)符的命名規(guī)則標(biāo)識(shí)符定義標(biāo)識(shí)符是用于標(biāo)識(shí)變量、函數(shù)、類、模塊或其他對(duì)象的名稱。命名規(guī)則字母和數(shù)字標(biāo)識(shí)符可以包含字母(a-z、A-Z)、數(shù)字(0-9)以及下劃線(_)。首字符標(biāo)識(shí)符的第一個(gè)字符必須是字母或下劃線,不能是數(shù)字。大小寫敏感Python區(qū)分大小寫,即Variable和variable是兩個(gè)不同的標(biāo)識(shí)符。保留字不能使用Python的關(guān)鍵字作為標(biāo)識(shí)符,例如if、else、while等。標(biāo)識(shí)符的命名慣例為了提高代碼的可讀性和一致性,通常遵循以下命名慣例:變量和函數(shù)使用小寫字母和下劃線(snake_case)。counter=1total_sum=100常量使用全大寫字母和下劃線(UPPER_SNAKE_CASE)。PI=3.14159MAX_CONNECTIONS=10類名使用首字母大寫的單詞(CamelCase)。classCircle:def__init__(self,radius):self.radius=radiusdefarea(self):returncalculate_area(self.radius)關(guān)鍵字概述關(guān)鍵字定義關(guān)鍵字(或保留字)是預(yù)定義的、具有特殊含義的標(biāo)識(shí)符。關(guān)鍵字用于表示Python語(yǔ)言的基本結(jié)構(gòu)元素,不能用作變量、函數(shù)、類名或任何其他標(biāo)識(shí)符。關(guān)鍵字是區(qū)分大小寫的,例如True和true是不同的。表3-2Python中所有關(guān)鍵字FalseawaitelseimportpassNonebreakexceptinraiseTrueclassfinallyisreturnandcontinueforlambdatryasdeffromnonlocalwhileassertdelglobalnotwithasyncelififoryield關(guān)鍵字類型1.控制流關(guān)鍵字用于控制程序的執(zhí)行流:if,elif,else:條件判斷for,while:循環(huán)控制break,continue:跳出循環(huán)、跳過(guò)當(dāng)前循環(huán)return:返回函數(shù)值2.定義和聲明關(guān)鍵字定義和聲明函數(shù)、類和其他對(duì)象:def:定義函數(shù)class:定義類lambda:匿名函數(shù)import,from:導(dǎo)入模塊異常處理關(guān)鍵字1.異常處理處理錯(cuò)誤和異常的關(guān)鍵字:try:嘗試執(zhí)行可能拋出異常的代碼except:捕獲異常finally:無(wú)論是否發(fā)生異常,都會(huì)執(zhí)行的代碼raise:主動(dòng)引發(fā)異常assert:插入斷言,調(diào)試程序示例代碼try:result=10/0exceptZeroDivisionError:print("Cannotdividebyzero")finally:print("Thiswillalwaysrun")布爾類型和邏輯運(yùn)算關(guān)鍵字1.布爾類型關(guān)鍵字False:布爾類型的假值None:空值或缺失值,表示沒(méi)有實(shí)際的值2.邏輯運(yùn)算關(guān)鍵字and:邏輯與運(yùn)算or:邏輯或運(yùn)算not:邏輯非運(yùn)算is:判斷兩個(gè)對(duì)象是否是同一個(gè)對(duì)象(內(nèi)存地址比較)示例代碼x=10y=20print(x>5andy<30)#Trueprint(xisy)#False其他關(guān)鍵字與關(guān)鍵字查詢1.其他關(guān)鍵字with:資源管理,如文件操作yield:定義生成器函數(shù),允許暫停和恢復(fù)執(zhí)行async,await:異步編程的關(guān)鍵字pass:占位符,用于需要語(yǔ)句但不做任何操作的地方del:刪除變量或?qū)ο蟮囊胕n:檢查元素是否在序列或集合中2.關(guān)鍵字查詢使用keyword模塊查看當(dāng)前Python版本中的所有關(guān)鍵字:importkeywordprint(keyword.kwlist)變量的定義與特性什么是變量?變量是用于存儲(chǔ)數(shù)據(jù)值的容器。在Python中,變量不需要聲明類型,類型由賦值自動(dòng)決定。Python是動(dòng)態(tài)類型語(yǔ)言,變量可以在運(yùn)行時(shí)更改類型。示例name="Alice"#字符串類型age=30#整數(shù)類型height=5.6#浮點(diǎn)數(shù)類型動(dòng)態(tài)類型的優(yōu)勢(shì)定義簡(jiǎn)單、靈活性高適合快速開發(fā)和原型設(shè)計(jì)變量命名規(guī)范與注意事項(xiàng)變量命名規(guī)則變量名可以包含字母(a-z,A-Z)、數(shù)字(0-9)和下劃線(_)必須以字母或下劃線開頭,不能以數(shù)字開頭大小寫敏感:name和Name是不同變量不能使用關(guān)鍵字作為變量名(如for、class、True等)良好命名的重要性提高代碼可讀性避免與內(nèi)置函數(shù)名沖突(如不要使用list、str、input作為變量名)有助于團(tuán)隊(duì)協(xié)作與代碼維護(hù)建議使用描述性名稱(如user_age而不是ua)遵循snake_case命名風(fēng)格,符合Python社區(qū)標(biāo)準(zhǔn)【項(xiàng)目實(shí)例3.2】創(chuàng)建一個(gè)python文件,命名為XXXXX.py。程序可以從鍵盤獲取用戶的名字,并生成個(gè)性化的問(wèn)候語(yǔ)。用戶可以通過(guò)輸入自己的名字,最終自動(dòng)輸出一條個(gè)性化的歡迎信息。要求1.從鍵盤獲取用戶的名字。2.確保輸入的數(shù)據(jù)是有效的字符串。3.使用f-string格式化字符串生成問(wèn)候語(yǔ)。4.打印生成的個(gè)性化問(wèn)候語(yǔ)?!卷?xiàng)目實(shí)例3.3】編寫一個(gè)程序,定義兩個(gè)變量,并使用Python的多重賦值語(yǔ)法交換它們的值。通過(guò)該程序,理解變量交換的基本原理和多重賦值的靈活性。要求1.定義變量:定義兩個(gè)變量a和b,并給它們賦初始值。2.打印初始值:輸出交換前變量a和b的值。3.交換變量值:使用Python的多重賦值語(yǔ)法交換a和b的值。4.打印交換后的值:輸出交換后變量a和b的值。Python數(shù)據(jù)類型概述Python支持多種數(shù)據(jù)類型,用于存儲(chǔ)和操作不同類型的數(shù)據(jù)。數(shù)據(jù)類型決定了可以對(duì)數(shù)據(jù)執(zhí)行的操作,影響內(nèi)存管理。理解數(shù)據(jù)類型是編寫高效Python代碼的基礎(chǔ)。數(shù)值類型-整數(shù)(int)整數(shù)(int)表示沒(méi)有小數(shù)部分的數(shù)字。可以是正數(shù)、負(fù)數(shù)或零。Python的整數(shù)沒(méi)有固定的范圍,取決于可用內(nèi)存大小。示例代碼a=10b=-20c=0print(type(a))#<class'int'>數(shù)值類型-浮點(diǎn)數(shù)(float)浮點(diǎn)數(shù)(float)表示帶小數(shù)部分的數(shù)字。使用雙精度(64位)表示,可以存儲(chǔ)大范圍的數(shù)值??梢杂每茖W(xué)計(jì)數(shù)法表示。示例代碼:a=3.14b=-2.5c=0.0print(type(a))#<class'float'>d=1.23e4#1.23*10^4e=5.67e-3#5.67*10^-3print(d)#12300.0數(shù)值類型-復(fù)數(shù)(complex)復(fù)數(shù)(complex)表示具有實(shí)部和虛部的數(shù)字。形式為a+bj,其中a為實(shí)部,b為虛部,j為虛數(shù)單位??梢栽L問(wèn)復(fù)數(shù)的實(shí)部.real和虛部.imag。示例代碼:a=1+2jb=-3+4jc=5-6jprint(type(a))#<class'complex'>z=3+4jprint(z.real)#3.0print(z.imag)#4.0數(shù)值類型-浮點(diǎn)數(shù)(float)浮點(diǎn)數(shù)(float)表示帶小數(shù)部分的數(shù)字。使用雙精度(64位)表示,可以存儲(chǔ)非常大的或非常小的數(shù)值,具有一定的精度。通常包含小數(shù)點(diǎn)。示例代碼:a=3.14b=-2.5c=0.0print(type(a))#<class'float'>科學(xué)計(jì)數(shù)法:使用e或E表示10的冪。示例:d=1.23e4#1.23*10^4e=5.67e-3#5.67*10^-3print(d)#12300.0數(shù)值類型-復(fù)數(shù)(complex)復(fù)數(shù)(complex)表示具有實(shí)部和虛部的數(shù)字。形式為a+bj,其中a是實(shí)部,b是虛部,j是虛數(shù)單位??捎糜趶?fù)雜的數(shù)學(xué)計(jì)算。示例代碼:a=1+2jb=-3+4jc=5-6jprint(type(a))#<class'complex'>訪問(wèn)復(fù)數(shù)的實(shí)部和虛部:使用.real和.imag屬性。z=3+4jprint(z.real)#3.0print(z.imag)#4.0數(shù)值類型-復(fù)數(shù)(complex)復(fù)數(shù)(complex)表示具有實(shí)部和虛部的數(shù)字。形式為a+bj,其中a是實(shí)部,b是虛部,j是虛數(shù)單位??捎糜趶?fù)雜的數(shù)學(xué)計(jì)算。示例代碼:a=1+2jb=-3+4jc=5-6jprint(type(a))#<class'complex'>訪問(wèn)復(fù)數(shù)的實(shí)部和虛部:使用.real和.imag屬性。z=3+4jprint(z.real)#3.0print(z.imag)#4.0序列類型(SequenceTypes)概述Python提供了幾種序列類型,用于存儲(chǔ)有序的數(shù)據(jù)。常見(jiàn)的序列類型包括字符串(str)和列表(list)。序列類型的數(shù)據(jù)可以通過(guò)索引訪問(wèn),支持切片操作。序列類型(SequenceTypes)概述字符串(str)用于表示文本數(shù)據(jù)。字符串是由一系列字符組成的不可變序列??梢允褂脝我?hào)、雙引號(hào)或三重引號(hào)定義字符串。示例代碼:#使用單引號(hào)str1='Hello,World!'#使用雙引號(hào)str2="Hello,World!"print(str1)#輸出:Hello,World!列表(list)-定義與訪問(wèn)列表(list)是一種可變的有序序列,包含任意類型的元素,且元素可重復(fù)。使用方括號(hào)[]定義列表,元素之間用逗號(hào)分隔。示例代碼:#定義一個(gè)包含整數(shù)的列表numbers=[1,2,3,4,5]#定義一個(gè)包含字符串的列表fruits=["apple","banana","cherry"]#定義一個(gè)包含不同類型元素的列表mixed=[1,"hello",3.14,True]列表(list)-切片與修改切片操作用于訪問(wèn)子列表,語(yǔ)法:list[start:end]。start是起始索引,end是結(jié)束索引(不包括該位置的元素)。通過(guò)索引可以修改和刪除列表中的元素。示例代碼:#列表定義numbers=[0,1,2,3,4,5,6,7,8,9]#訪問(wèn)從第三個(gè)元素到第六個(gè)元素print(numbers[2:6])#輸出:[2,3,4,5]#修改第一個(gè)元素fruits[0]="pear"#修改最后一個(gè)元素fruits[-1]="mango"列表(list)-索引與切片示例正索引從列表開列表(list)-索引與切片示例頭開始,0、1、2等。負(fù)索引從列表末尾開始,-1、-2、-3等。示例代碼:#訪問(wèn)第一個(gè)元素print(fruits[0])#輸出:pear#訪問(wèn)倒數(shù)第二個(gè)元素print(fruits[-2])#輸出:banana#訪問(wèn)從開頭到倒數(shù)第三個(gè)元素print(numbers[:-3])#輸出:[0,1,2,3,4,5,6]列表(list)-索引與切片示例正索引從列表開列表(list)-索引與切片示例頭開始,0、1、2等。負(fù)索引從列表末尾開始,-1、-2、-3等。示例代碼:#訪問(wèn)第一個(gè)元素print(fruits[0])#輸出:pear#訪問(wèn)倒數(shù)第二個(gè)元素print(fruits[-2])#輸出:banana#訪問(wèn)從開頭到倒數(shù)第三個(gè)元素print(numbers[:-3])#輸出:[0,1,2,3,4,5,6]元組(tuple)概述元組(tuple)是一種有序的不可變序列,用于存儲(chǔ)多個(gè)項(xiàng)目。元組一旦創(chuàng)建后無(wú)法修改。元組通常用于存儲(chǔ)相關(guān)的數(shù)據(jù),且不可變的特性使得元組更加安全,特別適用于作為字典的鍵。元組(tuple)-定義與訪問(wèn)定義元組:使用圓括號(hào)()定義,元素之間用逗號(hào)分隔。訪問(wèn)元組元素:可以使用索引來(lái)訪問(wèn)元組中的元素。示例代碼:#定義一個(gè)包含整數(shù)的元組numbers=(1,2,3,4,5)#定義一個(gè)包含字符串的元組fruits=("apple","banana","cherry")#定義一個(gè)包含不同類型元素的元組mixed=(1,"hello",3.14,True)#如果只有一個(gè)元素的元組,需要在元素后加一個(gè)逗號(hào)single_element_tuple=(42,)元組(tuple)-切片操作可以使用切片操作來(lái)訪問(wèn)元組的子序列。切片的語(yǔ)法是tuple[start:end],其中start是起始索引,end是結(jié)束索引(不包括該位置的元素)。示例代碼:#元組定義numbers=(0,1,2,3,4,5,6,7,8,9)#訪問(wèn)從第三個(gè)元素到第六個(gè)元素print(numbers[2:6])#輸出:(2,3,4,5)#訪問(wèn)從第五個(gè)元素到末尾print(numbers[4:])#輸出:(4,5,6,7,8,9)#訪問(wèn)從開頭到倒數(shù)第三個(gè)元素print(numbers[:-3])#輸出:(0,1,2,3,4,5,6)字典(dict)概述字典(dict)是用于存儲(chǔ)鍵值對(duì)的數(shù)據(jù)類型。每個(gè)鍵值對(duì)包含一個(gè)唯一的鍵和一個(gè)與之關(guān)聯(lián)的值,鍵值對(duì)之間由逗號(hào)隔開。無(wú)序、可變,并且鍵必須是不可變類型(如字符串、數(shù)字或元組)。值可以是任意類型。字典(dict)-定義與訪問(wèn)定義字典:使用花括號(hào){}來(lái)定義字典。有兩種方法可以訪問(wèn)字典中的值:使用鍵直接訪問(wèn)。使用get()方法訪問(wèn),若鍵不存在可返回默認(rèn)值。示例代碼:#創(chuàng)建空字典my_dict={}#創(chuàng)建具有初始鍵值對(duì)的字典my_dict={"name":"Alice","age":25,"city":"NewYork"}#訪問(wèn)鍵為"name"的值name=my_dict["name"]#輸出:"Alice"#使用get()方法訪問(wèn)值name=my_dict.get("name")#輸出:"Alice"gender=my_dict.get("gender")#輸出:Nonegender=my_dict.get("gender","Notspecified")#輸出:"Notspecified"字典(dict)-修改字典可以添加或更新字典中的鍵值對(duì)。添加新鍵值對(duì):直接使用新的鍵進(jìn)行賦值。更新已有鍵的值:使用現(xiàn)有的鍵更新值。示例代碼:#添加新鍵值對(duì)my_dict["work"]="Teacher"#更新已有鍵的值my_dict["age"]=26#輸出修改后的字典print(my_dict)#輸出:{'name':'Alice','age':26,'city':'NewYork','work':'Teacher'}字典(dict)-修改字典可以添加或更新字典中的鍵值對(duì)。添加新鍵值對(duì):直接使用新的鍵進(jìn)行賦值。更新已有鍵的值:使用現(xiàn)有的鍵更新值。示例代碼:#添加新鍵值對(duì)my_dict["work"]="Teacher"#更新已有鍵的值my_dict["age"]=26#輸出修改后的字典print(my_dict)#輸出:{'name':'Alice','age':26,'city':'NewYork','work':'Teacher'}集合(set)概述集合(set)是一種用于存儲(chǔ)無(wú)序、不重復(fù)元素的數(shù)據(jù)類型。集合是可變的,可以添加或刪除元素。提供了常用的集合操作,如并集、交集、差集等。集合(set)-創(chuàng)建集合使用花括號(hào){}定義集合。也可以使用set()構(gòu)造函數(shù)創(chuàng)建集合。示例代碼:#創(chuàng)建空集合(注意:空花括號(hào)`{}`創(chuàng)建的是字典)empty_set=set()#創(chuàng)建一個(gè)非空集合my_set={1,2,3,4,5}#使用set()構(gòu)造函數(shù)從列表創(chuàng)建集合my_set=set([1,2,3,4,5])#從字符串創(chuàng)建集合(每個(gè)字符是一個(gè)元素)char_set=set("hello")#輸出:{'h','e','l','o'}集合(set)-基本操作add():添加元素到集合。remove():移除指定元素,如果元素不存在,會(huì)引發(fā)KeyError。示例代碼:#創(chuàng)建一個(gè)集合my_set={1,2,3}#添加元素my_set.add(4)print(my_set)#輸出:{1,2,3,4}#移除指定元素my_set.remove(3)print(my_set)#輸出:{1,2,4}#如果元素不存在會(huì)引發(fā)KeyError#my_set.remove(5)#KeyError:5【項(xiàng)目實(shí)例3.4】一周天氣數(shù)據(jù)分析編寫一個(gè)程序,從鍵盤獲取一周的每日溫度數(shù)據(jù),然后計(jì)算并輸出該周的平均溫度、最高溫度和最低溫度。要求1.用戶輸入:從鍵盤輸入一周的每日溫度數(shù)據(jù)(以攝氏度為單位)。確保輸入的數(shù)據(jù)是有效的浮點(diǎn)數(shù)。2.數(shù)據(jù)存儲(chǔ):將輸入的溫度數(shù)據(jù)存儲(chǔ)在一個(gè)列表中,以便后續(xù)處理。3.計(jì)算:計(jì)算一周的平均溫度。找出一周中的最高溫度和最低溫度。4.輸出結(jié)果:打印一周的平均溫度、最高溫度和最低溫度,保留兩位小數(shù)。03運(yùn)算符與程序流程控制【項(xiàng)目實(shí)例3.5】電影評(píng)分設(shè)計(jì)一個(gè)電影評(píng)分系統(tǒng),能夠存儲(chǔ)電影及其評(píng)分,支持添加新電影、修改電影評(píng)分,并計(jì)算每部電影的平均評(píng)分。通過(guò)這個(gè)系統(tǒng),用戶可以輕松查看電影的評(píng)分?jǐn)?shù)據(jù)。要求1.數(shù)據(jù)結(jié)構(gòu):使用字典存儲(chǔ)電影和評(píng)分列表,其中鍵為電影名稱,值為評(píng)分列表。2.功能實(shí)現(xiàn):能夠添加新的電影及其評(píng)分。能夠修改已有電影的評(píng)分。計(jì)算并輸出每部電影的平均評(píng)分。3.輸出結(jié)果:顯示所有電影及其平均評(píng)分。Python中的算術(shù)運(yùn)算符算術(shù)運(yùn)算符用于執(zhí)行基本的數(shù)學(xué)運(yùn)算,如加法、減法、乘法、除法等。以下是Python常見(jiàn)的算術(shù)運(yùn)算符及其示例:Python中的比較運(yùn)算符比較運(yùn)算符用于比較兩個(gè)值,并返回布爾值True或False。Python中的賦值運(yùn)算符賦值運(yùn)算符用于將值賦給變量,并可以結(jié)合其他運(yùn)算符實(shí)現(xiàn)復(fù)合賦值操作。Python中的位運(yùn)算符位運(yùn)算符用于對(duì)整數(shù)類型的二進(jìn)制表示進(jìn)行操作。【項(xiàng)目實(shí)例3.6】溫度轉(zhuǎn)換器編寫一個(gè)程序,將用戶輸入的攝氏溫度轉(zhuǎn)換為華氏溫度。通過(guò)用戶交互,獲取攝氏溫度并計(jì)算對(duì)應(yīng)的華氏溫度,然后輸出結(jié)果。要求1.用戶輸入:從鍵盤獲取攝氏溫度,并確保輸入的是數(shù)值。2.溫度轉(zhuǎn)換公式:使用華氏溫度轉(zhuǎn)換公式:F=C*9/5+32,其中F是華氏溫度,C是攝氏溫度。3.輸出結(jié)果:打印轉(zhuǎn)換后的華氏溫度,格式為[C]攝氏度等于[F]華氏度。4.代碼示例:提供代碼實(shí)現(xiàn),確保代碼能夠正確運(yùn)行,處理用戶輸入并生成輸出?!卷?xiàng)目實(shí)例3.7】閏年判斷編寫一個(gè)程序,判斷用戶輸入的年份是否為閏年。程序?qū)⒏鶕?jù)閏年的規(guī)則對(duì)輸入的年份進(jìn)行計(jì)算,并輸出結(jié)果。要求1.用戶輸入:程序應(yīng)提示用戶輸入一個(gè)年份。輸入的數(shù)據(jù)類型應(yīng)為整數(shù)。2.閏年判斷規(guī)則:如果年份能被4整除但不能被100整除,則為閏年。如果年份能被400整除,則為閏年。其他情況下,不是閏年。3.輸出結(jié)果:程序應(yīng)輸出用戶輸入的年份以及該年份是否為閏年。Python程序流程控制定義:程序流程控制是通過(guò)條件判斷、循環(huán)和跳轉(zhuǎn)等結(jié)構(gòu)來(lái)控制程序的執(zhí)行順序。主要結(jié)構(gòu):條件語(yǔ)句:if、elif、else循環(huán)語(yǔ)句:for、while循環(huán)控制語(yǔ)句:break、continue、pass目的:實(shí)現(xiàn)復(fù)雜的邏輯和功能,根據(jù)不同條件和狀態(tài)執(zhí)行不同代碼。條件語(yǔ)句基礎(chǔ)-if語(yǔ)句定義:用于判斷表達(dá)式是否為True。語(yǔ)法:if條件表達(dá)式:語(yǔ)句塊示例:x=10ifx>5:print("xisgreaterthan5")條件語(yǔ)句-if...else語(yǔ)句定義:用于在條件為假時(shí)執(zhí)行另一個(gè)代碼塊。語(yǔ)法:if條件表達(dá)式:語(yǔ)句塊1else:語(yǔ)句塊2示例:x=3ifx>5:print("xisgreaterthan5")else:print("xislessthanorequalto5")條件語(yǔ)句-if...elif...else語(yǔ)句定義:用于檢查多個(gè)條件,第一個(gè)條件為真時(shí)對(duì)應(yīng)的代碼塊會(huì)被執(zhí)行,其余條件將被忽略。語(yǔ)法:if條件表達(dá)式1:語(yǔ)句塊1elif條件表達(dá)式2:語(yǔ)句塊2elif條件表達(dá)式3:語(yǔ)句塊3...else:語(yǔ)句塊n示例:x=7ifx>10:print("xisgreaterthan10")elifx>5:print("xisgreaterthan5butlessthanorequalto10")else:print("xis5orless")【項(xiàng)目實(shí)例3.8】判斷輸入的數(shù)字是否為偶數(shù)編寫一個(gè)程序,從鍵盤輸入一個(gè)整數(shù),并使用條件語(yǔ)句判斷這個(gè)數(shù)字是否為偶數(shù)。如果是偶數(shù),則輸出該數(shù)字是偶數(shù);否則,輸出該數(shù)字是奇數(shù)。要求1.輸入數(shù)字:使用合適的函數(shù)來(lái)獲取輸入的值并將其轉(zhuǎn)化為整數(shù)。2.條件判斷:使用條件語(yǔ)句if-else判斷數(shù)字是否為偶數(shù)。3.輸出結(jié)果:程序應(yīng)該輸出判斷結(jié)果到控制臺(tái)?!卷?xiàng)目實(shí)例3.9】三角形邊長(zhǎng)判斷與分類編寫一個(gè)程序,輸入三角形的三邊長(zhǎng)度,判斷這三條邊能否構(gòu)成三角形。如果能構(gòu)成三角形,進(jìn)一步判斷它是哪種類型的三角形(等邊、等腰、直角、普通)。如果不能構(gòu)成三角形,輸出提示信息。要求1.輸入:從用戶獲取三條邊的長(zhǎng)度,確保輸入的是有效的浮點(diǎn)數(shù)。2.判斷構(gòu)成條件:使用三角形不等式判斷三條邊能否構(gòu)成三角形:任意兩邊之和大于第三邊。3.三角形類型分類:等邊三角形(三邊相等)、等腰三角形(任意兩邊相等)、直角三角形(滿足勾股定理,即一邊平方等于另外兩邊平方和)、普通三角形(不屬于以上三種情況)4.輸出結(jié)果:如果能構(gòu)成三角形,輸出三角形類型;如果不能構(gòu)成三角形,輸出相應(yīng)提示。Python循環(huán)語(yǔ)句定義:循環(huán)語(yǔ)句用于根據(jù)條件反復(fù)執(zhí)行代碼塊,直到條件不滿足為止。主要類型:while語(yǔ)句:在條件為True時(shí)反復(fù)執(zhí)行代碼塊。else與while結(jié)合:循環(huán)正常結(jié)束時(shí)執(zhí)行else代碼塊。嵌套循環(huán):在一個(gè)循環(huán)內(nèi)部再嵌套一個(gè)或多個(gè)循環(huán)。while語(yǔ)句定義:用于在條件為True時(shí)反復(fù)執(zhí)行代碼塊。語(yǔ)法:while循環(huán)條件表達(dá)式:語(yǔ)句塊語(yǔ)義:當(dāng)條件為True時(shí),執(zhí)行語(yǔ)句塊,然后重新評(píng)估條件,繼續(xù)循環(huán),直到條件為False。示例:count=0whilecount<5:print("Count:",count)count+=1while與else結(jié)合使用定義:while循環(huán)可以與else結(jié)合,當(dāng)循環(huán)正常結(jié)束時(shí)執(zhí)行else代碼塊。語(yǔ)法:while循環(huán)條件表達(dá)式:語(yǔ)句塊1else:語(yǔ)句塊2語(yǔ)義:如果循環(huán)正常結(jié)束(未被break終止),執(zhí)行else語(yǔ)句塊。否則,跳過(guò)else語(yǔ)句塊。示例:count=0whilecount<5:print("Count:",count)count+=1else:print("Loopendedwithoutbreak")嵌套while循環(huán)定義:在一個(gè)while循環(huán)內(nèi)部嵌套使用另一個(gè)while循環(huán)。示例:使用嵌套while循環(huán)創(chuàng)建5x5乘法表i=1whilei<=5:j=1whilej<=5:print(f"{i}*{j}={i*j}",end='\t')j+=1print()i+=1解釋:外層循環(huán)控制行數(shù),從1到5。內(nèi)層循環(huán)控制列數(shù),從1到5。每次內(nèi)層循環(huán)后打印乘法結(jié)果,使用\t進(jìn)行分隔。外層循環(huán)控制每行輸出,并在內(nèi)層循環(huán)結(jié)束后換行。for語(yǔ)句概述定義:用于遍歷序列(如列表、元組、字符串)或其他可迭代對(duì)象。作用:對(duì)集合中的每個(gè)元素執(zhí)行一段代碼,簡(jiǎn)化了重復(fù)任務(wù)的處理。主要結(jié)構(gòu):一般形式:遍歷序列或可迭代對(duì)象中的每個(gè)元素。else語(yǔ)句:循環(huán)正常結(jié)束時(shí)執(zhí)行else代碼塊。嵌套for循環(huán):用于遍歷多維序列或進(jìn)行復(fù)雜操作。for循環(huán)基本用法語(yǔ)法:for元素in序列對(duì)象:語(yǔ)句塊語(yǔ)義:每次將可迭代序列中的一個(gè)元素賦給變量,然后執(zhí)行一次語(yǔ)句塊。示例1:遍歷列表numbers=[1,2,3,4,5]fornumberinnumbers:print(number)示例2:遍歷字符串word="Python"forletterinword:print(letter)for循環(huán)與else結(jié)合語(yǔ)義:當(dāng)for循環(huán)正常結(jié)束(沒(méi)有遇到break語(yǔ)句)時(shí),執(zhí)行else代碼塊。用途:可以在遍歷完整個(gè)序列后執(zhí)行某些操作,或者在未找到特定元素時(shí)執(zhí)行處理。語(yǔ)法:for元素in序列:if條件表達(dá)式:breakelse:代碼塊#循環(huán)未被break終止時(shí)執(zhí)行的代碼示例:numbers=[1,2,3,4,5]fornumberinnumbers:print(number)ifnumber==3:print("找到3,終止循環(huán)。")breakelse:print("循環(huán)結(jié)束,未使用break終止。")嵌套for循環(huán)定義:可以在一個(gè)for循環(huán)內(nèi)部嵌套另一個(gè)for循環(huán),用于遍歷多維序列或進(jìn)行復(fù)雜操作。語(yǔ)法:for元素1in序列1:for元素2in序列2:...代碼塊示例:遍歷一個(gè)3x3矩陣matrix=[[1,2,3],[4,5,6],[7,8,9]]forrowinmatrix:forelementinrow:print(element,end="")print()【項(xiàng)目實(shí)例3.10】使用while循環(huán)計(jì)算1到100的和編寫一個(gè)程序,使用while循環(huán)計(jì)算并輸出整數(shù)1到100的和。程序應(yīng)逐步累加整數(shù),并在完成后打印總和。要求1.初始化相關(guān)變量2.使用while循環(huán)從1累加到100?!卷?xiàng)目實(shí)例3.11】生成指定長(zhǎng)度的斐波那契數(shù)列編寫一個(gè)Python程序,使用循環(huán)生成指定長(zhǎng)度的斐波那契數(shù)列,并輸出結(jié)果。斐波那契數(shù)列是一個(gè)由0和1開始的序列,其中每個(gè)后續(xù)數(shù)字是前兩個(gè)數(shù)字之和。要求1.輸入長(zhǎng)度:程序生成的斐波那契數(shù)列長(zhǎng)度為10。2.數(shù)列生成邏輯:從序列的第三個(gè)數(shù)字開始,后續(xù)每個(gè)數(shù)字是其前兩個(gè)數(shù)字的和。3.輸出結(jié)果:打印生成的斐波那契數(shù)列?!卷?xiàng)目實(shí)例3.12】判斷數(shù)字是否為素?cái)?shù)編寫一個(gè)程序,從用戶輸入中獲取一個(gè)整數(shù),并判斷該數(shù)字是否為素?cái)?shù)。素?cái)?shù)是指大于1的自然數(shù)中,除了1和自身外,不能被其他自然數(shù)整除的數(shù)。要求1.輸入要求:從用戶輸入中獲取一個(gè)整數(shù)。驗(yàn)證輸入是否為有效的整數(shù)。2.算法邏輯:檢查輸入的數(shù)字是否大于1。如果大于1,則在2到該數(shù)字減1的范圍內(nèi)進(jìn)行除法測(cè)試。如果找到一個(gè)除數(shù)能整除該數(shù)字,則說(shuō)明不是素?cái)?shù)。如果在范圍內(nèi)沒(méi)有找到任何一個(gè)可以整除該數(shù)字的數(shù),則說(shuō)明是素?cái)?shù)。3.輸出要求:輸出結(jié)果,指明輸入的數(shù)字是素?cái)?shù)還是不是素?cái)?shù)。Python循環(huán)控制語(yǔ)句定義:循環(huán)控制語(yǔ)句用于改變循環(huán)的執(zhí)行方式。主要控制語(yǔ)句:break:立即退出循環(huán)。continue:跳過(guò)當(dāng)前循環(huán)的剩余語(yǔ)句,繼續(xù)下一次循環(huán)。pass:表示空操作,占位符作用。作用:提供更靈活的循環(huán)控制結(jié)構(gòu),幫助處理復(fù)雜邏輯。break語(yǔ)句定義:用于立即退出循環(huán),不再執(zhí)行循環(huán)中的其他代碼或條件測(cè)試。用途:退出無(wú)限循環(huán)。在嵌套循環(huán)中只會(huì)終止最內(nèi)層的循環(huán)。示例:fornumberinrange(1,11):ifnumber==5:breakprint(number)continue語(yǔ)句定義:用于跳過(guò)當(dāng)前循環(huán)中的剩余語(yǔ)句,并開始下一次循環(huán)。用途:只跳過(guò)當(dāng)前迭代,繼續(xù)執(zhí)行下一次循環(huán),不會(huì)終止整個(gè)循環(huán)。語(yǔ)法:示例:fornumberinrange(1,11):ifnumber%2==0:continueprint(number)pass語(yǔ)句與循環(huán)控制語(yǔ)句與else結(jié)合定義:pass語(yǔ)句用于表示空操作,不改變程序的執(zhí)行流程。用途:占位符作用,避免語(yǔ)法錯(cuò)誤。示例:fornumberinrange(1,11):ifnumber%2==0:passelse:print(number)【項(xiàng)目實(shí)例3.13】使用冒泡排序?qū)α斜磉M(jìn)行排序編寫一個(gè)程序,使用冒泡排序算法對(duì)一組數(shù)字進(jìn)行排序。冒泡排序是一種簡(jiǎn)單的排序算法,通過(guò)重復(fù)遍歷列表,比較相鄰元素并交換它們來(lái)逐步將最大的元素移動(dòng)到列表的末尾。要求輸入數(shù)據(jù):給定一組數(shù)據(jù)53,1,3,2,19,42,100,需要對(duì)其進(jìn)行升序排序。排序算法:使用冒泡排序算法對(duì)列表進(jìn)行排序。輸出結(jié)果:輸出排序后的列表?!卷?xiàng)目實(shí)例3.14】裁判評(píng)分系統(tǒng)設(shè)計(jì)一個(gè)程序,從五位裁判處獲取評(píng)分,去掉一個(gè)最高分和一個(gè)最低分,然后計(jì)算其余分?jǐn)?shù)的平均分。這個(gè)程序用于比賽評(píng)分系統(tǒng),幫助確保評(píng)分的公平性。要求輸入:從五位裁判處獲取評(píng)分,每個(gè)評(píng)分的范圍是0到10。評(píng)分必須是浮點(diǎn)數(shù)。處理:將所有評(píng)分存儲(chǔ)在列表中,然后對(duì)評(píng)分進(jìn)行排序,去掉一個(gè)最高分和一個(gè)最低分。計(jì)算剩余分?jǐn)?shù)的平均值。輸出:要顯示原始評(píng)分,然后顯示去掉一個(gè)最高分和一個(gè)最低分后的評(píng)分。最后顯示平均分,保留兩位小數(shù)。04模塊、庫(kù)與文件操作模塊和庫(kù)概述定義:模塊和庫(kù)(包)是Python中用于組織代碼的結(jié)構(gòu)單元,幫助開發(fā)者管理和重用代碼。作用:促進(jìn)代碼重用幫助組織和分發(fā)功能集合基本單元:模塊(Module):一個(gè)包含Python定義和語(yǔ)句的文件。庫(kù)(Library)/包(Package):一個(gè)包含多個(gè)模塊的目錄。模塊和庫(kù)的區(qū)別模塊(Module):含Python代碼的文件,擴(kuò)展名為.py。每個(gè)模塊都是一個(gè)獨(dú)立的命名空間。可以包含函數(shù)、類和變量。通過(guò)導(dǎo)入模塊實(shí)現(xiàn)代碼重用。示例:math.py、os.py。庫(kù)(Library)或包(Package):是包含多個(gè)模塊的目錄。通過(guò)__init__.py文件標(biāo)識(shí)目錄為包。包可以包含子包和模塊,形成層次結(jié)構(gòu)。提供更廣泛和完整的功能集合。示例:numpy、pandas、requests。模塊和庫(kù)的分類標(biāo)準(zhǔn)庫(kù):Python安裝包中自帶的模塊和包。涵蓋常見(jiàn)編程任務(wù),如文件處理、系統(tǒng)調(diào)用、網(wǎng)絡(luò)通信等。示例:sys、os、json。不需要額外安裝,可以直接導(dǎo)入使用。第三方庫(kù):由社區(qū)或公司開發(fā),并通過(guò)包管理工具(如pip)安裝。擴(kuò)展Python的功能,適用于多種任務(wù),如網(wǎng)絡(luò)請(qǐng)求、數(shù)據(jù)處理、機(jī)器學(xué)習(xí)等。示例:requests、numpy、pandas、scikit-learn。自定義模塊:由開發(fā)者自己創(chuàng)建的模塊,通常是為了在多個(gè)程序之間共享代碼。示例:my_module.py。創(chuàng)建模塊文件步驟1:創(chuàng)建Python文件在項(xiàng)目目錄中創(chuàng)建一個(gè)新的Python文件,命名為my_module.py。文件名可以根據(jù)需要自定義,通常以.py結(jié)尾。目的:該文件將包含你要重用的代碼,成為一個(gè)模塊。舉例:my_module.py。編寫模塊代碼定義函數(shù)、類和變量函數(shù):用于封裝功能,方便調(diào)用。類:用于封裝對(duì)象的屬性和行為。全局變量:用于共享常量或全局狀態(tài)。示例:在my_module.py文件中編寫模塊代碼#my_module.py#定義一個(gè)函數(shù)greet,接受一個(gè)參數(shù)name,并返回一個(gè)問(wèn)候字符串defgreet(name):returnf"Hello,{name}!"#定義一個(gè)類Person,用于表示一個(gè)人classPerson:def__init__(self,name):=namedefgreet(self):returnf"Hello,{}!"#定義一個(gè)全局變量variable,并賦值為一個(gè)字符串variable="Thisisamodulevariable"使用自定義模塊步驟1:導(dǎo)入模塊使用import語(yǔ)句在另一個(gè)Python文件中導(dǎo)入自定義模塊。示例:在main.py中使用my_module#main.py#導(dǎo)入自定義模塊importmy_module#使用模塊中的函數(shù)print(my_module.greet("Alice"))#輸出:Hello,Alice!#使用模塊中的類person=my_module.Person("Bob")print(person.greet())#輸出:Hello,Bob!#使用模塊中的變量print(my_module.variable)#輸出:Thisisamodulevariable安裝模塊和庫(kù)概述目的:在PyCharm中安裝模塊和庫(kù),使開發(fā)者能夠擴(kuò)展項(xiàng)目功能。安裝方法:使用PyCharm圖形界面(GUI)安裝模塊。使用終端安裝模塊。步驟:打開PyCharm并創(chuàng)建或打開項(xiàng)目。配置Python解釋器。安裝模塊和庫(kù)。配置Python解釋器步驟1:打開PyCharm并創(chuàng)建或打開項(xiàng)目。步驟2:配置解釋器打開File菜單,選擇Settings(macOS上為Preferences)。在設(shè)置窗口中,導(dǎo)航到Project:<project_name>->PythonInterpreter。如果沒(méi)有配置解釋器,點(diǎn)擊右側(cè)齒輪圖標(biāo),選擇Add...添加解釋器??蛇x擇系統(tǒng)解釋器、虛擬環(huán)境或Conda環(huán)境。圖3-29Settings使用GUI安裝模塊和庫(kù)步驟1:打開File菜單,選擇Settings(macOS為Preferences)。步驟2:在設(shè)置窗口中,導(dǎo)航到Project:<project_name>->PythonInterpreter。步驟3:在右側(cè)面板中,單擊+按鈕添加新的包。步驟4:在彈出的對(duì)話框中,搜索你想安裝的包(例如requests)。步驟5:點(diǎn)擊InstallPackage完成安裝。步驟6:安裝完成后,新的包會(huì)出現(xiàn)在解釋器的包列表中。圖3-29Settings安裝模塊后驗(yàn)證步驟1:安裝完成后,查看PyCharm解釋器中的包列表。新安裝的包會(huì)出現(xiàn)在該列表中。步驟2:在代碼中導(dǎo)入并驗(yàn)證新安裝的庫(kù)。importrequestsresponse=requests.get('')print(response.status_code)效果:通過(guò)查看包列表確認(rèn)安裝成功,并通過(guò)代碼驗(yàn)證功能是否正常。圖3-29Settings使用命令行安裝模塊和庫(kù)概述pip命令:pip是Python的標(biāo)準(zhǔn)包管理工具,用于安裝、升級(jí)和卸載模塊。使用命令行通過(guò)pip安裝模塊和庫(kù)是管理Python依賴的標(biāo)準(zhǔn)方法。操作步驟:確保pip已安裝。使用命令安裝、升級(jí)或卸載模塊和庫(kù)。查看已安裝的模塊。圖3-29Settings安裝pip檢查pip是否已安裝:在命令行中輸入以下命令檢查是否已安裝:pip--version安裝pip(如果未安裝):如果沒(méi)有安裝pip,可以通過(guò)下載get-pip.py腳本并運(yùn)行:pythonget-pip.py升級(jí)pip:使用--upgrade選項(xiàng)來(lái)升級(jí)pip:pipinstall--upgradepip管理員權(quán)限:在某些系統(tǒng)上,可能需要管理員權(quán)限來(lái)安裝模塊。使用sudo(macOS/Linux)或以管理員身份運(yùn)行命令提示符(Windows):sudopipinstall模塊名圖3-29Settings安裝、升級(jí)和卸載模塊安裝模塊和庫(kù):使用pipinstall命令安裝所需模塊:pipinstall模塊名示例:pipinstallrequests升級(jí)模塊和庫(kù):使用--upgrade選項(xiàng)來(lái)升級(jí)已安裝的模塊:pipinstall--upgrade模塊名示例:pipinstall--upgraderequests卸載模塊和庫(kù):使用uninstall命令卸載已安裝的模塊:pipuninstall模塊名示例:pipuninstallrequests圖3-29Settings查看已安裝的模塊使用piplist命令查看已安裝的模塊和版本:piplist示例輸出:PackageVersion-----------------requests2.25.1numpy1.19.5圖3-29Settings導(dǎo)入整個(gè)模塊語(yǔ)法:使用import語(yǔ)句導(dǎo)入整個(gè)模塊import模塊名示例:導(dǎo)入math模塊并使用其中的函數(shù)importmath#使用模塊中的函數(shù)result=math.sqrt(16)print(result)#輸出:4.0作用:通過(guò)import導(dǎo)入整個(gè)模塊,可以使用模塊中所有的功能。使用模塊時(shí)需加上模塊名作為限定符。圖3-29Settings導(dǎo)入模塊中的特定函數(shù)或類語(yǔ)法:使用from語(yǔ)句導(dǎo)入模塊中的指定對(duì)象from模塊名import函數(shù)名示例:導(dǎo)入math模塊中的sqrt函數(shù)frommathimportsqrt#直接使用導(dǎo)入的函數(shù)result=sqrt(16)print(result)#輸出:4.0注意:使用from導(dǎo)入后,可以直接使用對(duì)象名,不需加模塊名作為前綴。如果模塊與當(dāng)前文件中已有的名稱沖突,可能會(huì)產(chǎn)生歧義。圖3-29Settings為模塊或函數(shù)指定別名語(yǔ)法:使用as語(yǔ)句為模塊或函數(shù)指定別名import模塊名as別名示例:導(dǎo)入numpy模塊并為其指定別名npimportnumpyasnp#使用模塊的別名array=np.array([1,2,3,4])print(array)#輸出:[1234]作用:使用別名可以使代碼更加簡(jiǎn)潔,避免模塊名過(guò)長(zhǎng)或與其他變量名沖突。提高代碼的可讀性和維護(hù)性。圖3-29SettingsPythonrandom模塊功能:用于生成隨機(jī)數(shù)和進(jìn)行隨機(jī)選擇。應(yīng)用:廣泛用于模擬、測(cè)試和數(shù)據(jù)生成等領(lǐng)域。導(dǎo)入:importrandom常用函數(shù):random.random():返回一個(gè)[0.0,1.0)之間的隨機(jī)浮點(diǎn)數(shù)。圖3-29Settingsrandom模塊常用函數(shù)random.random():返回[0.0,1.0)之間的隨機(jī)浮點(diǎn)數(shù)。num=random.random()print(num)#輸出:0.3748562932347982(示例)random.randint(a,b):返回一個(gè)[a,b]之間的隨機(jī)整數(shù),包含端點(diǎn)。num=random.randint(1,10)print(num)#輸出:1到10之間的隨機(jī)整數(shù)random.choice(seq):從非空序列中隨機(jī)選擇一個(gè)元素。items=['apple','banana','cherry']item=random.choice(items)print(item)#輸出:'apple'、'banana'或'cherry'(示例)圖3-29Settingsmatplotlib模塊概述功能:用于數(shù)據(jù)可視化,創(chuàng)建各種類型的圖表和圖形。核心模塊:pyplot,提供類似MATLAB的繪圖功能。導(dǎo)入:importmatplotlib.pyplotasplt常用函數(shù):plt.show():顯示當(dāng)前圖形窗口中的所有圖形。圖3-29Settingsmatplotlib常用函數(shù)plt.show():顯示當(dāng)前圖形窗口中的所有圖形,終止繪圖。plt.show()plt.title():給圖形添加標(biāo)題。plt.title("MyGraph")plt.axis():獲取或設(shè)置圖形坐標(biāo)軸的屬性。plt.axis('off')#關(guān)閉坐標(biāo)軸plt.figure():創(chuàng)建新的圖形窗口或設(shè)置現(xiàn)有圖形的屬性。plt.figure(figsize=(10,5),dpi=100,facecolor='lightgrey')圖3-29Settingsmatplotlib常用函數(shù)plt.show():顯示當(dāng)前圖形窗口中的所有圖形,終止繪圖。plt.show()plt.title():給圖形添加標(biāo)題。plt.title("MyGraph")plt.axis():獲取或設(shè)置圖形坐標(biāo)軸的屬性。plt.axis('off')#關(guān)閉坐標(biāo)軸plt.figure():創(chuàng)建新的圖形窗口或設(shè)置現(xiàn)有圖形的屬性。plt.figure(figsize=(10,5),dpi=100,facecolor='lightgrey')圖3-29Settingsmatplotlib常用函數(shù)plt.show():顯示當(dāng)前圖形窗口中的所有圖形,終止繪圖。plt.show()plt.title():給圖形添加標(biāo)題。plt.title("MyGraph")plt.axis():獲取或設(shè)置圖形坐標(biāo)軸的屬性。plt.axis('off')#關(guān)閉坐標(biāo)軸plt.figure():創(chuàng)建新的圖形窗口或設(shè)置現(xiàn)有圖形的屬性。plt.figure(figsize=(10,5),dpi=100,facecolor='lightgrey')圖3-29SettingsPillow庫(kù)概述功能:Pillow是一個(gè)用于圖像處理的Python庫(kù),源自Python

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論