《Python編程案例教程》全套教學(xué)課件_第1頁
《Python編程案例教程》全套教學(xué)課件_第2頁
《Python編程案例教程》全套教學(xué)課件_第3頁
《Python編程案例教程》全套教學(xué)課件_第4頁
《Python編程案例教程》全套教學(xué)課件_第5頁
已閱讀5頁,還剩546頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Python編程案例教程第1章開始Python編程之旅.pptx第2章Python編程基礎(chǔ)知識.pptx第3章判斷和循環(huán)語句.pptx第4章字符串的使用.pptx第5章列表和元組.pptx第6章字典和集合.pptx第7章函數(shù).pptx第8章面向?qū)ο蟪绦蛟O(shè)計.pptx第9章文件操作.pptx第10章異常.pptx第11章GUI編程.pptx第12章網(wǎng)絡(luò)爬蟲.pptx第13章游戲開發(fā).pptx全套可編輯PPT課件01第一部分Python入門篇163本章導(dǎo)讀由于Python語言的簡潔性、易讀性以及可擴展性,它在網(wǎng)絡(luò)爬蟲、數(shù)據(jù)分析、機器學(xué)習(xí)、Web開發(fā)、金融、運維、測試等多個領(lǐng)域日益流行起來。根據(jù)TIOBE最新排名,Python已經(jīng)超越C#,與Java,C,C++一起成為全球4大流行語言。因此,學(xué)習(xí)Python是非常有必要的。本章首先介紹Python的發(fā)展歷史、特點、應(yīng)用場景,然后介紹在不同系統(tǒng)中搭建Python開發(fā)環(huán)境的方法,最后通過開發(fā)第一個Python程序的實例,讓讀者了解Python的開發(fā)流程和編碼規(guī)范。第1章開始Python編程之旅學(xué)習(xí)目標(biāo)了解Python的發(fā)展歷史、特點和應(yīng)用領(lǐng)域掌握在Windows,Linux,MacOSX等系統(tǒng)中搭建Python開發(fā)環(huán)境的方法掌握SublimeText編輯器的安裝與使用方法掌握運行Python程序的方法熟悉Python的編碼規(guī)范Python概述1.1搭建Python開發(fā)環(huán)境1.2開發(fā)第一個Python程序1.3Python是一種面向?qū)ο蟮慕忉屝途幊陶Z言,由荷蘭人GuidovanRossum于1989年發(fā)明,第一個公開發(fā)行版于1991年發(fā)行。Python語法簡潔、清晰,并具有一組功能豐富且強大的類庫。Python常被昵稱為膠水語言,它能夠把用其他語言制作的模塊聯(lián)結(jié)在一起。因此,Python常見的應(yīng)用情形是:使用Python快速生成程序原型,然后對其中有特別要求的部分用更適合的語言改寫。例如,由于3D游戲中對圖形渲染模塊的性能要求比較高,就可以用C/C++重寫,然后封裝為Python可以調(diào)用的類庫。1.1.1Python的發(fā)展歷史在1989年圣誕節(jié),Guido在阿姆斯特丹開發(fā)了一種新的編程語言Python,作為ABC語言的一種繼承。之所以用Python(通稱“大蟒蛇”)作為該編程語言的名字,是因為Guido是MontyPython喜劇團的愛好者。ABC語言是由Guido參與設(shè)計的一種教學(xué)語言,但ABC語言并沒有成功,究其原因,Guido認為是其非開放性造成的。Guido決定在Python中避免這一錯誤。同時,他還想實現(xiàn)在ABC中閃現(xiàn)過但未曾實現(xiàn)的功能。就這樣,Python在Guido手中誕生了??梢哉f,Python是從ABC發(fā)展起來,主要受到了Modula-3(另一種語言)影響,并且結(jié)合了Unixshell和C的習(xí)慣。知識庫1991年,第一個Python編譯器誕生。2000年10月,發(fā)布Python2.0版本。2008年12月,發(fā)布Python3.0版本。2011年1月,Python被TIOBE編程語言排行榜評為2010年度語言。2014年11月,發(fā)布消息:Python2.7將在2020年停止支持并且不再發(fā)布2.8版本。2018年7月,Python在TIOBE編程語言排行榜升至第四名,如第10頁中的表所示。1.1.1Python的發(fā)展歷史Jul2018ProgrammingLanguageRatingsChange1Java16.139%+2.37%2C14.662%+7.34%3C++7.615%+2.04%4Python6.361%+2.82%5VisualBasic.NET4.247%+1.20%6C#3.795%+0.28%7PHP2.832%-0.26%8JavaScript2.831%+0.22%9SQL2.334%+2.33%10Objective-C1.453%-0.44%表1-12018年7月TIOBE編程語言TOP101.1.1Python的發(fā)展歷史1.1.2Python的特點Python具有以下顯著的特點。213簡單易學(xué)。Python是一種代表簡單主義思想的語言。它采用強制縮進的方式使得代碼具有較好的可讀性,閱讀一個良好的Python程序就像是在讀英語文章一樣。用Python語言編寫程序時無需考慮底層的細節(jié),這使得編程人員能夠?qū)W⒂趩栴}本身,從而找到更好的解決方法。免費開源。Python是FLOSS(免費自由、開放源碼軟件)之一。使用者可以自由地發(fā)布這個軟件的拷貝,閱讀它的源代碼,對它做改動,或者把它的一部分用于新的自由軟件中。類庫豐富。Python標(biāo)準(zhǔn)庫非常龐大,覆蓋了網(wǎng)絡(luò)、文件、GUI、數(shù)據(jù)庫、文本等各種操作。用Python開發(fā),許多功能不必從零編寫,直接使用現(xiàn)成的庫即可。除此之外,Python還有許多第三方庫,可供用戶直接使用。1.1.2Python的特點546可擴展。如果需要一段運行速度很快的關(guān)鍵代碼或者希望某些算法不被公開,就可以把部分程序用C或C++語言編寫,然后在Python程序中調(diào)用。解釋性。在計算機內(nèi)部,Python解釋器把源代碼轉(zhuǎn)換成稱為字節(jié)碼的中間形式,然后再把它翻譯成計算機使用的機器語言并運行。這使得使用Python更加簡單,也使得Python程序更加易于移植??梢浦残?。由于Python的開源性,它已經(jīng)被移植到多個平臺上,如Linux,Windows,Macintosh,Android等。7可嵌入性??梢园裀ython程序嵌入到C/C++程序中,從而向應(yīng)用程序提供腳本功能。1.1.3Python的應(yīng)用領(lǐng)域Python支持廣泛的應(yīng)用程序開發(fā),包括文字處理、Web應(yīng)用和游戲等。從國內(nèi)的百度、阿里、騰訊,到國外的谷歌、YouTube、Facebook,Python的企業(yè)需求逐漸上升,各公司都在大規(guī)模使用Python完成各種開發(fā)任務(wù)。1.1.3Python的應(yīng)用領(lǐng)域1.Web應(yīng)用開發(fā)PythonWeb開發(fā)中,服務(wù)端程序可以分為兩個部分應(yīng)用程序服務(wù)器程序服務(wù)端程序前者負責(zé)對客戶端請求進行接收和整理,后者負責(zé)具體的邏輯處理。1.1.3Python的應(yīng)用領(lǐng)域為了方便應(yīng)用程序的開發(fā),我們把常用的功能封裝起來,成為各種Web開發(fā)框架,如Django,F(xiàn)lask,Tornado等。不同的框架有不同的開發(fā)方式,但是無論如何,開發(fā)出的應(yīng)用程序都要和服務(wù)器程序配合,才能為用戶提供服務(wù)。這樣,服務(wù)器程序就需要為不同的框架提供不同的支持。這樣混亂的局面無論對于服務(wù)器還是框架,都是不好的。對服務(wù)器來說,需要支持各種不同框架;對框架來說,只有支持它的服務(wù)器才能被開發(fā)出的應(yīng)用使用。1.1.3Python的應(yīng)用領(lǐng)域PythonWeb開發(fā)中,這個標(biāo)準(zhǔn)就是TheWebServerGatewayInterface,即WSGI。這個標(biāo)準(zhǔn)在PEP333中描述,后來,為了支持Python3.x,并且修正一些問題,新的版本在PEP3333中描述。有鑒于此,標(biāo)準(zhǔn)化就變得尤為重要。我們可以設(shè)立一個標(biāo)準(zhǔn),只要服務(wù)器程序支持這個標(biāo)準(zhǔn),框架也支持這個標(biāo)準(zhǔn),那么它們就可以配合使用。一旦標(biāo)準(zhǔn)確定,雙方各自實現(xiàn)。這樣,服務(wù)器可以支持更多支持標(biāo)準(zhǔn)的框架,框架也可以使用更多支持標(biāo)準(zhǔn)的服務(wù)器。1.1.3Python的應(yīng)用領(lǐng)域WSGI的內(nèi)容主要包括兩個部分,一個針對應(yīng)用程序,一個針對服務(wù)器程序。針對應(yīng)用程序的規(guī)定如下:應(yīng)用程序需要是一個可調(diào)用的對象。在Python中,它可以是函數(shù);可以是一個實例,它的類實現(xiàn)了__call__方法(“__”為兩個下劃線);可以是一個類,此時用這個類生成實例的過程就相當(dāng)于調(diào)用這個類。1可調(diào)用對象接收兩個參數(shù)。2可調(diào)用對象要返回一個值,并且這個值是可迭代的。31.1.3Python的應(yīng)用領(lǐng)域?qū)Ψ?wù)器程序而言,服務(wù)器程序會在每次客戶端的請求傳來時,調(diào)用我們寫好的應(yīng)用程序,并將處理好的結(jié)果返回給客戶端。WSGI規(guī)定:服務(wù)器程序需要調(diào)用應(yīng)用程序。1.1.3Python的應(yīng)用領(lǐng)域2.圖形界面開發(fā)Python可編寫多種圖形用戶界面(GUI),GUI是指采用圖形方式顯示的計算機操作用戶界面。Python支持多種圖形界面的庫,包括tkinter,PyGTK,PyQt,wxPython等。其中,tkinter是Python的標(biāo)準(zhǔn)GUI庫。用戶無需安裝任何包,就可以直接使用它。1.1.3Python的應(yīng)用領(lǐng)域3.系統(tǒng)網(wǎng)絡(luò)運維運維管理系統(tǒng)有大量重復(fù)性的工作,為了提高工作效率,使工作盡可能自動化,Python將是一門非常合適的語言。用Python編寫的系統(tǒng)管理腳本在可讀性、性能、代碼重用度、擴展性等方面都優(yōu)于普通的shell腳本。4.科學(xué)與數(shù)學(xué)計算Python被廣泛運用于科學(xué)和數(shù)學(xué)計算中,如生物信息學(xué)、物理、建筑、地理信息系統(tǒng)、圖像可視化分析、生命科學(xué)等。1.1.3Python的應(yīng)用領(lǐng)域5.網(wǎng)絡(luò)編程Python對于底層網(wǎng)絡(luò)的支持很完善,常被用于編寫服務(wù)器程序、網(wǎng)絡(luò)爬蟲等。與之相關(guān)的有Socket模塊和Twisted框架。其中,Twisted支持異步網(wǎng)絡(luò)編程和多數(shù)標(biāo)準(zhǔn)的網(wǎng)絡(luò)協(xié)議,并且對其支持的所有協(xié)議都帶有客戶端和服務(wù)器實現(xiàn),同時附帶有基于命令行的多種工具,使得配置和部署產(chǎn)品級的Twisted應(yīng)用變得非常方便。1.1.3Python的應(yīng)用領(lǐng)域6.3D游戲開發(fā)游戲的高性能模塊一般使用C++編寫,邏輯和服務(wù)器一般使用Python或Lua編寫。Lua的功能更簡單、體積更小,而Python支持更多的特性和數(shù)據(jù)類型。Python還有很好的3D渲染庫和游戲開發(fā)框架(PyGame,Pykyra等)。利用Python開發(fā)的游戲有黑暗之刃、迪斯尼卡通城等。1.1.3Python的應(yīng)用領(lǐng)域1.1.4Python版本眾所周知,Python官方網(wǎng)站目前同時發(fā)行Python2.x和Python3.x兩個不同系列的版本,而這兩個系列的版本之間很多用法是不兼容的,除了基本輸入輸出方式有所不同,很多內(nèi)置函數(shù)和標(biāo)準(zhǔn)庫對象的用法也有很大的區(qū)別。Python3.x在增加了很多新標(biāo)準(zhǔn)庫的同時也刪除了一些Python2.x的標(biāo)準(zhǔn)庫,還對Python2.x的標(biāo)準(zhǔn)庫進行了一定程度的合并和拆分。當(dāng)然,適用于Python2.x和Python3.x的擴展庫之間也存在著很大的差別。因此,在正式開始使用Python之前,必須要選擇合適的版本,以免浪費時間。1.1.4Python版本總體而言,Python3.x的設(shè)計理念更加合理、高效和人性化,全面普及和應(yīng)用是必然的,越來越多的擴展庫推出了與最新Python版本相適應(yīng)的版本。如果可以自主選擇版本,請選擇Python3.x版本?;谏鲜隹紤],本書以Python3.x為教學(xué)內(nèi)容,也請讀者選擇Python3.x版本。Python概述1.1搭建Python開發(fā)環(huán)境1.2開發(fā)第一個Python程序1.3因為Python是一種跨平臺的編程語言,所以Python程序可以在不同的操作系統(tǒng)上運行。然而,在不同的操作系統(tǒng)中安裝Python開發(fā)環(huán)境的方法是有區(qū)別的。下面介紹在不同的操作系統(tǒng)中搭建Python開發(fā)環(huán)境的方法。搭建Python開發(fā)環(huán)境訪問/downloads/windows/,下載Windows環(huán)境下的Python安裝程序,如右圖所示。根據(jù)操作系統(tǒng)類型(32位或64位操作系統(tǒng))選擇合適的安裝程序進行下載。1.2.1在Windows系統(tǒng)中搭建Python開發(fā)環(huán)境1.安裝Python步驟11)安裝Python的操作步驟要在Windows系統(tǒng)中安裝Python,請參照下面的步驟進行:下載Python安裝包

1.2.1在Windows系統(tǒng)中搭建Python開發(fā)環(huán)境打開下載的Python安裝程序后,首先勾選“AddPython3.6toPATH”選項(安裝路徑添加到系統(tǒng)環(huán)境變量Path中),然后選擇自定義安裝或默認安裝。本例選擇自定義安裝,如右圖所示。步驟2安裝向?qū)J安裝自定義安裝提示如果安裝時沒有勾選“AddPython3.6toPATH”選項,那么系統(tǒng)就無法自動完成環(huán)境變量的配置,讀者需要在安裝完成后手動配置環(huán)境變量,將Python的安裝路徑添加到環(huán)境變量中。1.2.1在Windows系統(tǒng)中搭建Python開發(fā)環(huán)境在打開的對話框中選擇Python提供的工具包,一般保持默認的全部選中,然后單擊“Next”按鈕,如右圖所示。步驟3選擇Python工具包1.2.1在Windows系統(tǒng)中搭建Python開發(fā)環(huán)境在打開的對話框中勾選第一項“Installforallusers(為所有用戶安裝)”,然后單擊“Browse”按鈕選擇安裝目錄,最后單擊“Install”按鈕,如右圖所示。步驟4選擇高級選項與安裝路徑1.2.1在Windows系統(tǒng)中搭建Python開發(fā)環(huán)境開始安裝并顯示安裝進度,如右圖所示。安裝成功后,單擊“Close”按鈕關(guān)閉對話框即可。步驟5安裝進度1.2.1在Windows系統(tǒng)中搭建Python開發(fā)環(huán)境2)檢查Python是否安裝成功打開命令提示符(cmd)窗口,執(zhí)行“python”命令。如果出現(xiàn)類似右圖所示結(jié)果,就表示Python安裝成功。Python安裝成功1.2.1在Windows系統(tǒng)中搭建Python開發(fā)環(huán)境2.在Windows系統(tǒng)中安裝文本編輯器SublimeText為便于Python程序反復(fù)運行,可使用文本編輯器編寫和保存代碼。下面介紹一款簡單、流行、免費的文本編輯器SublimeText,該編輯器支持多平臺,具有良好的擴展功能,運行速度快,且允許添加第三方庫。1)安裝SublimeText訪問/3,下載Windows安裝程序。下載完成之后打開該程序,單擊“Next”按鈕直到安裝完成。1.2.1在Windows系統(tǒng)中搭建Python開發(fā)環(huán)境2)SublimeText界面組成安裝完成SublimeText后,選擇“開始”菜單中的“SublimeText3”菜單項,可啟動SublimeText3開發(fā)環(huán)境,得到如下圖所示操作界面。SublimeText3界面菜單欄標(biāo)簽欄狀態(tài)欄編輯區(qū)主窗口的頂部為主菜單欄;主菜單欄下面是標(biāo)簽欄,標(biāo)簽欄中顯示文件名;標(biāo)簽欄下面是編輯區(qū),用來輸入和編輯源程序;主窗口的底部為狀態(tài)欄,用于顯示當(dāng)前行號、當(dāng)前語言和Tab格式等信息。1.2.2在Linux系統(tǒng)中搭建Python開發(fā)環(huán)境大部分Linux系統(tǒng)只要安裝完畢,都默認安裝了Python。讀者可以打開終端窗口,執(zhí)行以下python命令進行驗證:$python按Enter鍵執(zhí)行該命令,如果系統(tǒng)中已安裝Python,會輸出如下信息:Python2.7.5(default,Nov62016,00:28:07)[GCC4.8.520150623(RedHat4.8.5-11)]onlinux2Type"help","copyright","credits"or"license"formoreinformation.>>>如果系統(tǒng)中未安裝Python,會輸出如下信息:bash:python:未找到命令...

提示如果退出Python解釋器,可以執(zhí)行“exit()”命令或按【Ctrl+D】組合鍵。1.安裝Python1.2.2在Linux系統(tǒng)中搭建Python開發(fā)環(huán)境由于大部分Linux自帶Python2.x版本,而本書選擇的是Python3.x版本,因此,需要在Linux中重新安裝Python3.x版本。下面簡要介紹一下Python3.6.1在CentOS7(Linux發(fā)行版本之一)中的安裝方法。1.2.2在Linux系統(tǒng)中搭建Python開發(fā)環(huán)境在Linux系統(tǒng)獲取root權(quán)限,打開終端窗口輸入如下命令:$suroot #取得root特權(quán),以root身份執(zhí)行程序執(zhí)行上述命令,出現(xiàn)如下所示結(jié)果:密碼: #輸入root密碼(不顯示)如果密碼正確無誤,即可在Linux中獲取root權(quán)限。執(zhí)行如下命令,安裝CentOS7中的相關(guān)組件:#yum-ygroupinstalldevelopment #批量安裝開發(fā)環(huán)境組件#yum-yinstallzlib-devel #安裝zlib-devel包1)Linux服務(wù)器環(huán)境的配置依次執(zhí)行這兩個命令,等待程序運行完,即可完成服務(wù)器環(huán)境的配置。2)安裝Python1.2.2在Linux系統(tǒng)中搭建Python開發(fā)環(huán)境執(zhí)行如下命令,下載Python-3.6.1的安裝包:#wget/ftp/python/3.6.1/Python-3.6.1.tgz #下載Python安裝包執(zhí)行如下命令,將Python-3.6.1的安裝包進行解壓縮:#tar-zxfPython-3.6.1.tgz #解壓Python安裝包執(zhí)行如下命令,切換至Python-3.6.1的目錄:#cdPython-3.6.1/ #cd后面的路徑是Python-3.6.1的解壓路徑1.2.2在Linux系統(tǒng)中搭建Python開發(fā)環(huán)境執(zhí)行如下命令,對Python-3.6.1進行配置:#./configure #進行Python-3.6.1的配置執(zhí)行如下命令,編譯和安裝Python-3.6.1:#make #編譯#makeinstall #安裝依次執(zhí)行這兩個命令,等待程序運行完,即可完成Python3.6.1的安裝。3)檢查Python是否安裝成功1.2.2在Linux系統(tǒng)中搭建Python開發(fā)環(huán)境打開終端窗口,執(zhí)行python3命令,如果輸出如右圖所示結(jié)果,則表示Python安裝成功。Linux系統(tǒng)中Python3.6.1安裝成功2.在Linux系統(tǒng)中安裝與配置文本編輯器SublimeText執(zhí)行如下命令,下載SublimeText的安裝包(根據(jù)自己操作系統(tǒng)類型選擇其中的一條):1.2.2在Linux系統(tǒng)中搭建Python開發(fā)環(huán)境1)在Linux系統(tǒng)中安裝SublimeText#下載SublimeText64位安裝包$wget/sublime_text_3_build_3126_x64.tar.bz2#下載SublimeText32位安裝包$wget/sublime_text_3_build_3126_x32.tar.bz2執(zhí)行如下命令,將SublimeText的安裝包進行解壓縮(根據(jù)下載的安裝包選擇其中的一條):1.2.2在Linux系統(tǒng)中搭建Python開發(fā)環(huán)境#解壓SublimeText64位安裝包$tarjxvfsublime_text_3_build_3126_x64.tar.bz2#解壓SublimeText32位安裝包$tarjxvfsublime_text_3_build_3126_x32.tar.bz2執(zhí)行如下命令,切換至SublimeText目錄:$cdsublime_text_3 #cd后面是sublime_text_3的解壓路徑執(zhí)行如下命令,打開SublimeText:$./sublime_text2)在SublimeText中配置Python31.2.2在Linux系統(tǒng)中搭建Python開發(fā)環(huán)境打開SublimeText,選擇“Tools”>“BuildSystem”>“NewBuildSystem”菜單項,打開一個空配置文件,在這個文件中輸入如下代碼:{"cmd":["/usr/local/bin/python3","-u","$file"] //注意路徑替換成自己的Python3路徑}以上代碼輸入完成之后,將配置文件命名為Python3.sublime-build,并將其保存到默認目錄中。再次選擇“Tools”>“BuildSystem”菜單項,將會出現(xiàn)“Python3”的選項,將其勾選即可在Python3編譯環(huán)境下開發(fā)應(yīng)用程序了。

提示Python3的路徑可以通過在終端窗口執(zhí)行“$type-apython3”命令獲得。

SublimeText在Linux系統(tǒng)中的運行方式與Windows相同。1.2.3在MacOSX系統(tǒng)中搭建Python開發(fā)環(huán)境大部分MacOSX系統(tǒng)中都默認安裝了Python。打開終端窗口,執(zhí)行如下Python命令進行驗證:$python執(zhí)行上述命令,如果系統(tǒng)中已安裝Python,會輸出如下信息:Python2.7.5(default,Aug252013,00:04:04)[GCC4.2.1CompatibleAppleLLVM5.0(clang-500.0.68)]ondarwinType"help","copyright","credits"or"license"formoreinformation.>>>如果系統(tǒng)中未安裝Python,會輸出如下信息:-bash:python:commandnotfound1.2.3在MacOSX系統(tǒng)中搭建Python開發(fā)環(huán)境1.安裝Python由于大部分MacOSX系統(tǒng)自帶版本是Python2.x,而本書選擇的是Python3.x版本。因此,下面介紹Python3.6.1在MacOSX系統(tǒng)中的安裝方法。1)安裝Python打開下載的Python安裝軟件包后,單擊“繼續(xù)”按鈕,直到安裝完成。步驟2MacOSX系統(tǒng)的Python安裝包訪問/downloads/mac-osx/,下載MacOSX環(huán)境下的Python安裝程序,如右圖所示。步驟11.2.3在MacOSX系統(tǒng)中搭建Python開發(fā)環(huán)境2)檢查Python是否安裝成功MacOSX系統(tǒng)的Python安裝成功打開終端窗口,執(zhí)行python3命令,如果出現(xiàn)類似下圖所示結(jié)果,就表示Python安裝成功。1.2.3在MacOSX系統(tǒng)中搭建Python開發(fā)環(huán)境2.在MacOSX系統(tǒng)中安裝與配置文本編輯器SublimeText訪問/3,下載OSX安裝程序。下載完成之后打開該程序,默認單擊下一步直到完成。1)安裝SublimeTextSublimeText在MacOSX系統(tǒng)中配置Python3的方法與Linux相同。但是,在MacOSX系統(tǒng)中,SublimeText的菜單在單擊SublimeText窗口后將出現(xiàn)在桌面的頂部,如下圖所示。2)在SublimeText中配置Python3MacOSX系統(tǒng)中SublimeText菜單的位置Python概述1.1搭建Python開發(fā)環(huán)境1.2開發(fā)第一個Python程序1.3根據(jù)前面所學(xué)的知識,讀者已經(jīng)搭建好自己的編程環(huán)境,并且簡單了解了SublimeText的界面。下面編寫一個簡單的Python程序,學(xué)習(xí)實際操作中Python有哪些編碼規(guī)范和運行方式。使用SublimeText編輯器1.3.1在MacOSX系統(tǒng)中搭建Python開發(fā)環(huán)境使用SublimeText編輯器編寫Python程序可分為以下幾個步驟:1打開SublimeText編輯器,在SublimeText界面中選擇

“File”>“NewFile”菜單項,或者按【Ctrl+N】快捷鍵,創(chuàng)建一

個新的文件,如右圖所示。創(chuàng)建一個新文件1.3.1在MacOSX系統(tǒng)中搭建Python開發(fā)環(huán)境2“另存為”對話框選擇“File”>“Save”菜單項,或者按【Ctrl+S】組合鍵,彈出“另存為”對話框,如右圖所示。選擇要保存文件的路徑,在文件名中輸入源程序的名字,如“1-1.py”,然后單擊“保存”按鈕。

提示Python源程序文件的后綴名為“.py”。1.3.1在MacOSX系統(tǒng)中搭建Python開發(fā)環(huán)境3在編輯區(qū)輸入以下代碼:print("helloworld!")#輸出helloworld!然后選擇“Tools”>“Build”菜單項或按【Ctrl+B】組合鍵運行程序,如下方左圖所示。程序運行后,SublimeText窗口底部會出現(xiàn)一個小窗口,如果其中顯示“helloworld!”,則表示程序運行成功,如下方右圖所示。運行程序運行結(jié)果

1.3.1在MacOSX系統(tǒng)中搭建Python開發(fā)環(huán)境

小技巧可根據(jù)需要設(shè)置SublimeText的背景顏色,例如,想設(shè)置背景色為白色,方法是:選擇“Preferences”->“ColorScheme”->“Breakers”菜單項即可。1.3.2命令行模式下運行Python程序日常開發(fā)中編寫的大部分程序都直接在編輯器中運行,但是,在某些情況下需要直接運行既有程序,這時就需要在命令行模式下運行程序了。本節(jié)介紹在命令行模式下運行Python程序的兩種方式。命令行模式下運行Python程序1.3.2命令行模式下運行Python程序1.命令行模式下運行既有程序打開命令行窗口,把當(dāng)前目錄切換到“1-1.py”文件所在的目錄下,輸入命令“python1-1.py”即可運行程序,運行結(jié)果如右圖所示。命令行模式下運行既有程序1.3.2命令行模式下運行Python程序2.交互模式下直接運行代碼在命令行模式下輸入“python”,可以進入到Python交互模式,如右側(cè)上圖所示。Python交互模式界面(一)

知識庫也可以直接通過“開始”菜單選擇“Python3.6”菜單項,直接進入Python交互模式,如右側(cè)下圖所示。Python交互模式界面(二)在Python交互模式的提示符“>>>”下,直接輸入“print(”helloworld!“)”,按回車,就可以立刻得到運行結(jié)果。在Python交互模式下輸入“exit()”并回車,即可退出Python交互模式,并回到命令行模式,如右圖所示。1.3.2命令行模式下運行Python程序運行代碼并退出Python交互模式1.3.3Python編碼規(guī)范任何一種語言都有一些約定俗成的編碼規(guī)范,Python也不例外。本節(jié)重點介紹Python的編碼規(guī)范,最好在開始編寫第一個Python程序時就遵循這些規(guī)范和建議,養(yǎng)成一個好的習(xí)慣。Python編碼規(guī)范1.3.3Python編碼規(guī)范1.注釋一個好的、有使用價值的源程序都應(yīng)加上必要的注釋,以提高程序的可讀性。Python允許有多種注釋方式,常用的包括單行注釋和多行注釋兩種。1以“#”開始的單行注釋。這種注釋可以單獨占一行,也可以出現(xiàn)在一行中其他內(nèi)容的右側(cè)。此種注釋以“#”開始,以換行符結(jié)束。例如:print("helloworld!") #輸出helloworld!1.3.3Python編碼規(guī)范2以三對引號(單引號或雙引號)開始,同樣以三對引號結(jié)束的多行注釋。例如:'''Python多行注釋符……三對單引號示例'''print("三對單引號已成功注釋")"""Python多行注釋符……三對雙引號示例"""print("三對雙引號已成功注釋")1.3.3Python編碼規(guī)范2.縮進Python最獨特的一點就是依靠代碼塊的縮進來體現(xiàn)代碼之間的邏輯關(guān)系。例如,對于選擇結(jié)構(gòu)來說,行尾的冒號以及下一行的縮進表示一個代碼塊的開始,而縮進結(jié)束則表示一個代碼塊的結(jié)束。在Python中最好使用4個空格進行懸掛式縮進,并且同一級別的代碼塊的縮進量必須相同。例如:a=1 #a賦值為1b=2 #b賦值為2ifa>b: #如果a>bprint(a) #輸出a的值else: #否則print(b) #輸出b的值

提示在Python中使用縮進時不提倡使用【Tab】鍵,更不要【Tab】鍵和空格混用。1.3.3Python編碼規(guī)范3.語句換行Python建議每行代碼的長度不要超過80個字符。對于過長的代碼,建議進行換行。換行有兩種方式:1可以在行尾使用續(xù)行符“\”來表示下面緊接的一行仍屬于當(dāng)前語句。例如:test='https://www.python.'\'org/downloads/'\'windows/'等價于test='/downloads/windows/'1.3.3Python編碼規(guī)范3.語句換行2根據(jù)Python會將圓括號中的行隱式連接起來這個特點,可以使用圓括號包含多行內(nèi)容。例如,上述語句又可用以下形式表示:test=('https://www.python.''org/downloads/''windows/')

提示需要注意的是,在[]、{}或()中的語句,不需要再使用圓括號進行換行。例如:stu=['Mary','Jone','Jack','Tom','Lily','Sary']1.3.3Python編碼規(guī)范4.使用必要的空格與空行使用必要的空格與空行增強代碼的可讀性。一般來說,運算符兩側(cè)、函數(shù)參數(shù)之間、逗號后面建議使用空格進行分隔。而不同功能的代碼塊之間、不同的函數(shù)定義以及不同的類定義之間則建議增加一個空行以提高程序的可讀性。感謝您的觀看Python編程案例教程本章導(dǎo)讀萬丈高樓平地起,打好地基很關(guān)鍵。Python基礎(chǔ)知識就好比Python這棟大廈的“地基”,想要蓋好Python這棟大廈,掌握它的基礎(chǔ)很關(guān)鍵。本章首先介紹Python的變量命名規(guī)則、變量的數(shù)據(jù)類型、變量的賦值,然后介紹Python中的各種運算符和表達式的使用、最后介紹在Python中實現(xiàn)輸入和輸出的方法。第2章Python編程基礎(chǔ)知識學(xué)習(xí)目標(biāo)掌握Python變量的命名規(guī)則熟悉Python變量的數(shù)據(jù)類型熟悉Python中各運算符的使用方法掌握在Python中實現(xiàn)輸入和輸出的方法變量2.1運算符2.2輸入和輸出2.3典型案例—求三角形的面積2.42.1變量2.1.2變量的數(shù)據(jù)類型2.1.1變量的命名2.1.3變量的賦值2.1.1變量的命名變量名只能包括字母、數(shù)字和下劃線,且第一個字符必須是字母或下劃線,不能是數(shù)字。str,_str1,str_22str,2_str,&123,%lsso,M.Jack,-L22.1變量例如:第一個單詞首字母小寫,之后的單詞首字母大寫,如myName,myFriendName等。1)小駝峰式命名每個單詞首字母都大寫,如MyName,MyFriendName等。2)大駝峰式命名用下劃線“_”把每個單詞連起來,如my_name,my_friend_name等。3)下劃線連接命名2.1.1變量的命名2.1變量

提示(1)Python的變量名區(qū)分英文字母大小寫,如score和Score是兩個不同的變量。(2)變量名不能是Python的關(guān)鍵字。>>>importkeyword #導(dǎo)入keyword模塊>>>keyword.kwlist #查看所有關(guān)鍵字Python本身定義的一些具有特定功能的標(biāo)示符稱為關(guān)鍵字。可在Python交互模式下執(zhí)行如下命令,查看關(guān)鍵字。1.?dāng)?shù)字十進制整數(shù),如18。八進制整數(shù)。以數(shù)字0開頭,只能用0~7這8個數(shù)字組合表達,如0154。十六進制整數(shù)。以0x或0X開頭,只能用0~9這十個數(shù)字及字母A~F組合表達,如0x15F。1)int(整型)

知識庫Python2中有兩個整數(shù)類型int和long(長整型)。在Python3里,只有一種整數(shù)類型int,且不限制大小。1.?dāng)?shù)字直接十進制形式,如0.0013、-1482.5。指數(shù)形式,通常用來表示一些比較大或者比較小的數(shù)值,格式為:2)float(浮點型)實數(shù)部分+字母E或e+正負號+整數(shù)部分0.0013=-1482.5=例如:復(fù)數(shù)由實數(shù)部分和虛數(shù)部分組成,一般形式為x+yj。3)complex(復(fù)數(shù))例如:2.14j2+12.1j2.布爾類型布爾(bool)類型是一種比較特殊的類型,它只有“True(真)”和“False(假)”兩種值。3.字符串字符串是以單引號或雙引號括起來的任意文本,如'abc',"xyz"等。如果單引號本身也是字符串中的一個字符,那就可以用雙引號括起來;如果雙引號本身也是字符串中的一個字符,那就可以用單引號括起來。如果字符串內(nèi)部既包含單引號又包含雙引號,則可以用轉(zhuǎn)義字符“\”來標(biāo)識"I'mOK!"'Itoldmyfriend,"Pythonismyfavoritelanguage!"‘'I\'m\"OK\"!'3.字符串轉(zhuǎn)義字符是以“\”開頭,后跟一個字符,通常用來表示一些控制代碼和功能定義。轉(zhuǎn)義字符說

明轉(zhuǎn)義字符說

明\n回車換行\(zhòng)'單引號符'\b退格\"雙引號符"\r回車\a鳴鈴\t水平制表\f走紙換頁\v垂直制表\\反斜線符\

知識庫Python還允許在單引號前加r來表示單引號內(nèi)部的字符串默認不轉(zhuǎn)義。例:字符串輸出。print('I\'mlearning\nPython.') #輸出print('\\\n\\')print(r'\\\n\\')程序運行效果1.變量賦值Python中的變量賦值不需要類型聲明。向變量賦值時,Python會自動聲明變量類型。例:變量賦值。a=0.01 #創(chuàng)建變量a,賦值為0.01b=666 #創(chuàng)建變量b,賦值為666c='123' #創(chuàng)建變量c,賦值為'123'print("變量a的值為",a,",類型是",type(a)) #輸出變量a的值及其類型print("變量b的值為",b,",類型是",type(b)) #輸出變量b的值及其類型print("變量c的值為",c,",類型是",type(c)) #輸出變量c的值及其類型程序運行效果2.多個變量賦值Python允許同時為多個變量賦值。也可以同時為多個變量賦不同的值。例如:a=b=c=1a,b,c=1,2,"hello"2.2運算符2.2.2賦值運算符2.2.1算術(shù)運算符2.2.3關(guān)系運算符2.2.4邏輯運算符2.2.6身份運算符2.2.5成員運算符2.2.7位運算符2.2.8運算符優(yōu)先級Python提供了7個基本的算術(shù)運算符,其運算方式與數(shù)學(xué)中基本類似。運算符名

稱說

明示

例+加法運算

將運算符兩邊的操作數(shù)相加a+b=7-減法運算

將運算符左邊的操作數(shù)減去右邊的操作數(shù)a-b=-1*乘法運算

將運算符兩邊的操作數(shù)相乘a*b=12/除法運算

將運算符左邊的操作數(shù)除以右邊的操作數(shù)a/b=0.75%模運算

返回除法運算的余數(shù)a%b=3**冪(乘方運算)

表達式x**y,則返回x的y次冪a**b=81//整除

返回商的整數(shù)部分。如果其中一個操作數(shù)為負數(shù),則結(jié)果為負數(shù)a//b=0b//a=1-a//b=-1賦值運算符用來給變量賦值,Python提供的賦值運算符可分為簡單賦值與復(fù)合賦值兩大類。a+=b #相當(dāng)于a=a+ba-=b #相當(dāng)于a=a-ba*=b #相當(dāng)于a=a*ba/=b #相當(dāng)于a=a/ba%=b #相當(dāng)于a=a%ba**=b #相當(dāng)于a=a**ba//=b #相當(dāng)于a=a//b復(fù)合賦值

提示如果b是包含若干項的表達式,則相當(dāng)于它有括號,例如:a*=b-3 #相當(dāng)于a=a*(b-3)

提示如果b是包含若干項的表達式,則相當(dāng)于它有括號,例如:a*=b-3 #相當(dāng)于a=a*(b-3)關(guān)系運算符又稱比較運算符,用于比較運算符兩側(cè)的值,比較的結(jié)果是一個布爾值,即True或False。

提示(1)關(guān)系運算符的優(yōu)先級低于算術(shù)運算符,但高于賦值運算符。(2)關(guān)系運算符的結(jié)合性為從左到右。例如:b<a+2等效于b<(a+2)a<=b!=b>=2等效于(a<=b)!=(b>=2)a=b<c 等效于a=(b<c)序

號符

號功

能優(yōu)先級1>

大于優(yōu)先級相同(高)2>=大于等于3<

小于4<=小于等于5==等于優(yōu)先級相同(低)6!=不等于Python的邏輯運算符包括and(與)、or(或)、not(非)3種,與C/C++、Java等語言不同的是,Python中邏輯運算的返回值不一定是布爾值。運算符含

義舉

例說

明and與xandy如果x為False,無需計算y的值,返回值為x;否則返回y的值or或xory如果x為True,無需計算y的值,返回值為x;否則返回y的值not非notx如果x為True,返回值為False;如果x為False,返回值為True

提示在Python中,當(dāng)參與邏輯運算的數(shù)值為0時,則把它看作邏輯“假”,而將所有非0的數(shù)值都看作邏輯“真”。例:邏輯運算符。print(3-3and3<6) #輸出邏輯表達式的值print(3<6and3+5)print(1+2or3<6)print(3<6or3+5)print(not3>6)程序運行效果2.2.5成員運算符2.2運算符成員運算符用于判斷一個元素是否在某個序列中,如字符串、列表、元組等。運算符舉

例說

明inxiny在y中找到x的值返回True,否則返回Falsenotinxnotiny在y中未找到x的值返回True,否則返回False例:成員運算符示例。a=1b=2list=[1,2,3,4,5]; #創(chuàng)建列表list,賦值為1,2,3,4,5。print(ainlist) #輸出成員表達式的值print(bnotinlist)程序運行效果2.2.6身份運算符2.2運算符身份運算符用來判斷兩個變量的引用對象是否指向同一個內(nèi)存對象。運算符舉

例說

明isxisy如果x和y引用的是同一個對象則返回True,否則返回Falseisnotxisnoty如果x和y引用的不是同一個對象則返回True,否則返回False例:身份運算符示例。a=10 #創(chuàng)建變量a,賦值為10b=20 #創(chuàng)建變量b,賦值為20print(aisb) #輸出表達式的值print(aisnotb)b=10 #修改變量b的值print(aisb)程序運行效果2.2.7位運算符2.2運算符所謂位運算是指進行二進制位的運算。運算符名

稱說

明&按位與

只有對應(yīng)的兩個二進制位均為1時,結(jié)果才為1,否則為0|按位或

只要對應(yīng)的兩個二進制位有一個為1時,結(jié)果就為1^按位異或

對應(yīng)的兩個二進制位不同時,結(jié)果為1,否則為0~取反

對每個二進制位取反<<

左移

左操作數(shù)的二進制位全部左移,由右操作數(shù)決定移動的位數(shù),移出位刪掉,移進的位補零>>

右移

左操作數(shù)的二進制位全部右移,由右操作數(shù)決定移動的位數(shù),移出位刪掉,移進的位補零2.2.7位運算符2.2運算符假設(shè)變量a=10,b=23,即二進制格式a=00001010,b=00010111。

知識庫我們都知道,數(shù)據(jù)是以二進制形式存儲在計算機中的。整數(shù)在存儲單元中的存儲方式是以補碼形式存放的。一個正數(shù)的補碼是此數(shù)的二進制形式,一個負數(shù)的補碼是由該數(shù)絕對數(shù)的二進制數(shù)按位取反后加1得到。2.2.8運算符優(yōu)先級2.2運算符優(yōu)先級順序運算符說

明1**指數(shù)(次冪)運算2~+-取反、正號運算和負號運算3*/%//乘,除,取模和取整除4+-加法、減法5>><<右移,左移位運算符6&按位與7^|按位異或和按位或8<=<>>=比較運算符9==!=等于和不等于運算符10=%=/=//=-=+=*=**=賦值運算符11isisnot身份運算符12innotin成員運算符13notorand邏輯運算符2.3輸入和輸出2.3.2輸出2.3.1輸入在Python中使用print()函數(shù)進行輸出。輸出字符串時可用單引號或雙引號括起來;輸出變量時,可不加引號;變量與字符串同時輸出或多個變量同時輸出時,需用“,”隔開各項。例:使用print()函數(shù)輸出數(shù)據(jù)。print("這是一個輸出示例") #print()函數(shù)使用雙引號輸出示例url='' #創(chuàng)建變量url,賦值為''print('我們的網(wǎng)址是',url) #print()函數(shù)使用單引號輸出變量url程序運行效果

提示print默認輸出是換行的,如果要實現(xiàn)不換行需要在變量末尾加上end=""Python提供了input()函數(shù)用于獲取用戶鍵盤輸入的字符。input()函數(shù)讓程序暫停運行,等待用戶輸入數(shù)據(jù),當(dāng)獲取用戶輸入后,Python將其以字符串的形式存儲在一個變量中,方便后面使用。例:使用input()函數(shù)實現(xiàn)輸入。password=input("請輸入密碼:") #輸入數(shù)據(jù)賦給變量passwordprint('您剛剛輸入的密碼是:',password)#輸出數(shù)據(jù)程序運行效果例:編寫程序,要求輸入兩個整數(shù),求兩數(shù)之和后輸出。a=input("請輸入第一個整數(shù):") #輸入變量a的值b=input("請輸入第二個整數(shù):") #輸入變量b的值a=int(a) #將變量a轉(zhuǎn)換為整型數(shù)b=int(b) #將變量b轉(zhuǎn)換為整型數(shù)c=a+b #兩數(shù)相加賦給cprint("兩數(shù)之和為:",c) #輸出c的值程序運行效果

提示(1)可使用int()函數(shù)將輸入的字符串轉(zhuǎn)化為整型數(shù)據(jù)。(2)可使用float()函數(shù)將字符串轉(zhuǎn)化為浮點型數(shù)據(jù)。去掉這兩行代碼2.4典型案例—求三角形的面積例:編寫程序,要求輸入三角形的三條邊(假設(shè)給定的三條邊符合構(gòu)成三角形的條件:任意兩邊之和大于第三邊),計算三角形的面積并輸出。。importmath #導(dǎo)入math模塊a=int(input("請輸入三角形的第一條邊:")) #輸入第一條邊并將其轉(zhuǎn)換為整型b=int(input("請輸入三角形的第二條邊:")) #輸入第二條邊并將其轉(zhuǎn)換為整型c=int(input("請輸入三角形的第三條邊:")) #輸入第三條邊并將其轉(zhuǎn)換為整型s=1/2*(a+b+c) #計算sarea=math.sqrt(s*(s-a)*(s-b)*(s-c)) #調(diào)用sqrt函數(shù)計算面積print("此三角形面積為:",area) #輸出三角形面積程序運行效果感謝您的觀看Python編程案例教程本章導(dǎo)讀在解決實際問題時,我們經(jīng)常會遇到需要根據(jù)不同條件選擇不同操作的情況,或者經(jīng)常會遇到需要重復(fù)處理相同或相似操作的情況。Python提供了判斷和循環(huán)語句用于解決這些問題。本章首先介紹判斷語句,包括簡單的if語句、if-else語句、if-elif-else語句和嵌套的if語句,然后介紹while循環(huán)和for循環(huán)兩種循環(huán)語句,以及跳出循環(huán)語句的方法,最后通過兩個典型案例的分析和實現(xiàn),讓讀者進一步掌握判斷語句和循環(huán)語句的使用方法。第3章判斷和循環(huán)語句學(xué)習(xí)目標(biāo)掌握簡單的if語句、if-else語句、if-elif-else語句和嵌套的if語句的使用方法掌握while循環(huán)和for循環(huán)語句的使用方法掌握break和continue語句的使用方法掌握選擇結(jié)構(gòu)程序設(shè)計和循環(huán)結(jié)構(gòu)程序設(shè)計的編程思路判斷語句3.1循環(huán)語句3.2典型案例3.33.1判斷語句3.1.2if-else語句3.1.1簡單的if語句3.1.3if-elif-else語句3.1.4嵌套的if語句if語句允許程序通過判斷條件是否成立而選擇是否執(zhí)行指定的語句。if判斷條件:

語句塊例如:age=20 #創(chuàng)建變量age代表年齡,賦值為20ifage>=18: #判斷變量age的值是否大于等于18print("已成年") #輸出“已成年”if判斷條件:

語句塊1else:

語句塊2if語句只允許在條件為真時指定要執(zhí)行的語句,而if-else語句還可在條件為假時指定要執(zhí)行的語句。例:編寫程序,要求輸入年齡,判斷該學(xué)生是否成年(大于等于18歲),如未成年,計算還需要幾年能夠成年。age=int(input("請輸入學(xué)生的年齡:")) #輸入變量age的值并轉(zhuǎn)換為整型ifage>=18: #判斷age是否大于等于18print("已成年") #如果是,輸出“已成年”else: #如果不是

print("未成年") #輸出“未成年”

print("還差",18-age,"年成年") #計算還差幾年成年并輸出程序運行效果例:編寫程序,要求輸入三角形的三條邊,計算三角形的面積并輸出。importmath #導(dǎo)入math模塊a=int(input("請輸入三角形的第一條邊:")) #輸入第一條邊并將其轉(zhuǎn)換為整型b=int(input("請輸入三角形的第二條邊:")) #輸入第二條邊并將其轉(zhuǎn)換為整型c=int(input("請輸入三角形的第三條邊:")) #輸入第三條邊并將其轉(zhuǎn)換為整型ifa>0andb>0andc>0anda+b>canda+c>bandb+c>a:#如果滿足構(gòu)成三角形條件

s=1/2*(a+b+c) #計算sarea=math.sqrt(s*(s-a)*(s-b)*(s-c)) #調(diào)用sqrt函數(shù)計算面積

print("此三角形面積為:",area) #輸出三角形面積else: #如不滿足條件

print("輸入的三條邊不能構(gòu)成三角形"); #輸出提示信息程序運行效果if判斷條件1:

語句塊1elif判斷條件2:

語句塊2…elif判斷條件n:

語句塊nelse:

語句塊n+1程序運行效果編程時常常需要判定一系列的條件,一旦其中某一個條件為真就立刻停止。例:學(xué)生成績可分為百分制和五級制,將輸入的百分制成績score,轉(zhuǎn)換成相應(yīng)的五級制成績后輸出。百分制五級制百分制五級制90≤score≤100優(yōu)60≤score<70及格80≤score<90良0≤score<60不及格70≤score<80中score>100或score<0無意義score=int(input("請輸入百分制成績:"))#輸入分數(shù)score的值并將其轉(zhuǎn)化為整數(shù)ifscore>100orscore<0: #當(dāng)分值不合理時顯示出錯信息

print("輸入數(shù)據(jù)無意義")elifscore>=90: #當(dāng)成績大于等于90小于等于100時,輸出“優(yōu)”

print("優(yōu)")elifscore>=80: #當(dāng)成績大于等于80小于90時,輸出“良”

print("良")elifscore>=70: #當(dāng)成績大于等于70小于80時,輸出“中”

print("中")elifscore>=60: #當(dāng)成績大于等于60小于70時,輸出“及格”

print("及格")else: #以上條件都不滿足

print("不及格") #輸出不及格程序運行效果在if語句中又包含一個或多個if語句時,稱為if語句的嵌套。if判斷條件1: if判斷條件2:

語句塊1 else:

語句塊2else: if判斷條件3:

語句塊3 else:

語句塊4內(nèi)嵌if內(nèi)嵌if

提示內(nèi)嵌if可以是簡單的if語句,也可以是if-else語句,還可以是if-elif-else語句。一定要注意if嵌套語句的逐層縮進,保持同級縮進相同。例:編寫程序,實現(xiàn)輸入三個整數(shù),輸出最大值。a=int(input("請輸入a的值:")) #輸入a的值并轉(zhuǎn)換為整數(shù)b=int(input("請輸入b的值:")) #輸入b的值并轉(zhuǎn)換為整數(shù)c=int(input("請輸入c的值:")) #輸入c的值并轉(zhuǎn)換為整數(shù)ifa>b: #a>bifa>c: #a>b并且a>c,最大值為amax=a else: #a>b并且c>a,最大值為cmax=celse: #a<bifb>c: #b>a并且b>c,最大值為bmax=belse: #b>a并且c>b,最大值為cmax=cprint("max=",max) #輸出最大值max程序運行效果3.2循環(huán)語句3.2.2for循環(huán)語句3.2.1while循環(huán)語句3.2.3循環(huán)嵌套3.2.4break和continue語句while循環(huán)語句的基本格式如下:while判斷條件:

語句塊 #循環(huán)體

提示while循環(huán)語句是“先判斷,后執(zhí)行”。如果剛進入循環(huán)時條件就不滿足,則循環(huán)體一次也不執(zhí)行。還需要注意的是,一定要有語句修改判斷條件,使其有為假的時候,否則將出現(xiàn)“死循環(huán)”。i=1 #創(chuàng)建變量i,賦值為1S=0 #創(chuàng)建變量S,賦值為0whilei<=100: #循環(huán),當(dāng)i>100時結(jié)束

S+=i #求和,將結(jié)果放入S中

i+=1 #變量i加1print("S=1+2+3+…+100=",S) #輸出S的值例:編寫程序,求S=1+2+3+…+100的值。程序運行效果

注意(1)變量初始化描述要完整、準(zhǔn)確。(2)在循環(huán)體中應(yīng)有使循環(huán)趨向于結(jié)束的語句。1.for循環(huán)語句的語法結(jié)構(gòu)基本格式:for變量in序列:

語句塊例如:forxin"python":print(x)

提示Python中的for循環(huán)常用于遍歷列表、元組、字符串以及字典等序列中的元素。2.for循環(huán)語句與range()函數(shù)range([start,]stop[,step])for循環(huán)語句經(jīng)常與range()函數(shù)一起使用,range()函數(shù)是Python的內(nèi)置函數(shù),可創(chuàng)建一個整數(shù)列表。range()函數(shù)的語法是:計數(shù)從start開始,默認是從0開始。計數(shù)到stop結(jié)束,但不包括stop。步長,默認為1。例如:range(5)等價于range(0,5)range(0,5)是[0,1,2,3,4]range(0,5)等價于range(0,5,1)例:用for語句求S=1+2+3+…+100的值。S=0 #創(chuàng)建變量S,賦值為0foriinrange(1,101): #循環(huán)變量i從1循環(huán)到100 S+=i #求和,將結(jié)果放入S中print("S=1+2+3+…+100=",S) #輸出S的值程序運行效果一個循環(huán)語句的循環(huán)體內(nèi)包含另一個完整的循環(huán)結(jié)構(gòu),稱為循環(huán)的嵌套。嵌在循環(huán)體內(nèi)的循環(huán)稱為內(nèi)循環(huán)。嵌有內(nèi)循環(huán)的循環(huán)稱為外循環(huán)。內(nèi)嵌的循環(huán)中還可以嵌套循環(huán),這就是多重循環(huán)。兩種循環(huán)語句while語句和for語句可以互相嵌套,自由組合。外層循環(huán)體中可以包含一個或多個內(nèi)層循環(huán)結(jié)構(gòu)。

注意各循環(huán)必須完整包含,相互之間不允許有交叉現(xiàn)象。例:編寫一個程序,輸出以下乘法表。forxinrange(1,10): #循環(huán)變量x從1循環(huán)到9 foryinrange(1,x+1): #循環(huán)變量y從1循環(huán)到x+1 print(y,"*",x,"=",x*y,"",end="") #輸出乘法表達式

print("") #輸出空字符串,作用是為了換行程序運行效果1.break語句我們可以使用break語句跳出循環(huán)體,而去執(zhí)行循環(huán)下面的語句。在循環(huán)結(jié)構(gòu)中,break語句通常與if語句一起使用,以便在滿足條件時跳出循環(huán)。例:計算滿足條件的最大整數(shù)n,使得1+2+3+…+n<=10000。n=1 #創(chuàng)建變量n,賦值為1S=0 #創(chuàng)建變量S,賦值為0whileTrue: #循環(huán)

S+=n #求和,將結(jié)果放入S中

ifS>10000: #當(dāng)S>10000時

break #跳出循環(huán)

n+=1 #變量n加1print("最大整數(shù)n為",n-1,",使得1+2+3+…+n<=10000。") #輸出n-1的值程序運行效果2.continue語句有時并不希望終止整個循環(huán)的操作,而只希望提前結(jié)束本次循環(huán),接著執(zhí)行下次循環(huán),這時可以用continue語句。與break語句不同,continue語句的作用是結(jié)束本次循環(huán),即跳過循環(huán)體中continue語句后面的語句,開始下一次循環(huán)。例:輸出1~20之間所有的奇數(shù)。forninrange(1,21): #循環(huán),n的取值為1到20 ifn%2==0: #判斷n是否為偶數(shù)

continue #當(dāng)n為偶數(shù)時跳出本次循環(huán)

else: #當(dāng)n為奇數(shù)時輸出n的值

print(n)程序運行效果3.3典型案例例:編寫程序,模仿猜拳游戲,要求輸入兩個用戶的不同手型,判斷輸贏后輸出。player1=int(input("請用戶1輸入:0(剪刀)1(石頭)2(布):")#獲取用戶1輸入的信息并賦值player2=int(input("請用戶2輸入:0(剪刀)1(石頭)2(布):"))#獲取用戶2輸入的信息并賦值ifplayer1<0orplayer1>2orplayer2<0orplayer2>2: #輸入了游戲規(guī)則以外的數(shù)字

print("請遵守游戲規(guī)則") #輸出“請遵守游戲規(guī)則”else: #輸入正確

if((player1==0)and(player2==2))or((player1==1)and(player2==0))or((player1==2)and(player2==1)):

#用戶1所有能獲勝的判斷條件

print("用戶1獲得勝利") #輸出“用戶1獲得勝利”

elifplayer1==player2: #用戶1輸入與用戶2相同時

print("平局,再來一局") #輸出“平局,再來一局”

else: #用戶2獲勝

print("用戶2獲得勝利") #輸出“用戶2獲得勝利”程序運行效果例:中國古代數(shù)學(xué)家張丘建在他的《算經(jīng)》中提出了一個著名的“百錢買百雞問題”:雞翁一,值錢五;雞母一,值錢三;雞雛三,值錢一;百錢買百雞,問翁、母、雛各幾何?編程實現(xiàn)將所有可能的方案輸出在屏幕上。forcockinrange(0,20+1): #雞翁范圍在0到20之間

forheninrange(0,33+1): #雞母范圍在0到33之間

forbiddyinrange(3,99+1): #雞雛范圍在3到99之間

if(5*cock+3*hen+biddy/3)==100: #判斷錢數(shù)是否等于100if(cock+hen+biddy)==100: #判斷購買的雞數(shù)是否等于100ifbiddy%3==0: #判斷雞雛數(shù)是否能被3整除

print("雞翁:",cock,"雞母:",hen,"雞雛:",biddy) #輸出程序運行效果感謝您的觀看Pytho

溫馨提示

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

評論

0/150

提交評論