《Python程序設(shè)計(jì)》 課件全套 張小志 項(xiàng)目1-11 搭建Python編程環(huán)境-模塊應(yīng)用_第1頁(yè)
《Python程序設(shè)計(jì)》 課件全套 張小志 項(xiàng)目1-11 搭建Python編程環(huán)境-模塊應(yīng)用_第2頁(yè)
《Python程序設(shè)計(jì)》 課件全套 張小志 項(xiàng)目1-11 搭建Python編程環(huán)境-模塊應(yīng)用_第3頁(yè)
《Python程序設(shè)計(jì)》 課件全套 張小志 項(xiàng)目1-11 搭建Python編程環(huán)境-模塊應(yīng)用_第4頁(yè)
《Python程序設(shè)計(jì)》 課件全套 張小志 項(xiàng)目1-11 搭建Python編程環(huán)境-模塊應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩1049頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

項(xiàng)目1搭建Python編程環(huán)境了解Python語(yǔ)言發(fā)展歷程01了解Python語(yǔ)言主要特點(diǎn)02了解Python語(yǔ)言應(yīng)用領(lǐng)域03知識(shí)目標(biāo)熟悉Python程序的運(yùn)行方式04熟悉Python程序常見(jiàn)的開(kāi)發(fā)環(huán)境05能夠完成Python解釋器的安裝01能夠完成PyCharm集成開(kāi)發(fā)環(huán)境的安裝02能夠熟練使用Python命令交互模式03能力目標(biāo)能夠熟練使用PythonIDLE工具04能夠熟練使用PyCharm編寫(xiě)簡(jiǎn)單的代碼05能夠?qū)ython程序編譯為可執(zhí)行文件06任務(wù)提出01任務(wù)分析02知識(shí)準(zhǔn)備03任務(wù)1打印樹(shù)形圖案任務(wù)實(shí)現(xiàn)04任務(wù)總結(jié)05任務(wù)1打印樹(shù)形圖案任務(wù)提出Part.01任務(wù)提出1.編寫(xiě)程序,通過(guò)print()函數(shù)控制輸出信息,實(shí)現(xiàn)打印樹(shù)形圖案的功能,如圖所示。2.將程序打包成EXE可執(zhí)行文件。任務(wù)分析Part.02任務(wù)分析1.下載、安裝、運(yùn)行Python。2.下載、安裝、配置與運(yùn)行PyCharm開(kāi)發(fā)工具。3.運(yùn)用PyCharm開(kāi)發(fā)工具編寫(xiě)任務(wù)源代碼tree.py。4.在開(kāi)發(fā)環(huán)境中運(yùn)行測(cè)試任務(wù)源代碼tree.py。5.優(yōu)化任務(wù)源代碼tree.py并測(cè)試運(yùn)行。6.運(yùn)用PyInstaller工具將tree.py編譯成EXE可執(zhí)行文件。7.測(cè)試運(yùn)行可執(zhí)行文件tree.exe,查看運(yùn)行結(jié)果。

本任務(wù)為首次運(yùn)用Python編程,需要先搭建Python編程環(huán)境,再編寫(xiě)代碼實(shí)現(xiàn)樹(shù)形圖案的打印輸出,具體的任務(wù)實(shí)施分析如下:知識(shí)準(zhǔn)備Part.03初識(shí)Python01下載、安裝和運(yùn)行Python02常用PythonIDE03知識(shí)準(zhǔn)備安裝和配置PyCharm04編譯可執(zhí)行文件05發(fā)展歷程01主要特點(diǎn)02應(yīng)用領(lǐng)域031.1初識(shí)Python發(fā)布時(shí)間:1991年創(chuàng)始人:吉多·范羅蘇姆發(fā)布機(jī)構(gòu):Python軟件基金會(huì)(PythonSoftwareFoundation,PSF)語(yǔ)言類(lèi)型:面向?qū)ο蟮慕忉屝愿呒?jí)語(yǔ)言軟件平臺(tái):Windows、Linux、UNIX、MacOS等操作系統(tǒng)軟件版本:python2.x、python3.xPython發(fā)展歷程Python發(fā)展歷程吉多·范羅蘇姆于1991年初公開(kāi)發(fā)布第一個(gè)正式版本。1994年1月,Python新版本1.0發(fā)布。2000年10月,Python2.0發(fā)布。2001年,Python軟件基金會(huì)(PSF)成立2008年12月,Python3.0版本發(fā)布,并被作為維護(hù)的主要系列。2010年,Python2.x系列發(fā)布最后一個(gè)版本,其主版本號(hào)為2.7。2011年1月,Python被TIOBE編程語(yǔ)言排行榜評(píng)為2010年度語(yǔ)言。2018年3月,Python宣布Python2.7將于2020年1月1日終止支持。2021年10月,Python被TIOBE編程語(yǔ)言排行榜評(píng)委最受歡迎的編程語(yǔ)言。語(yǔ)法簡(jiǎn)單Python主要特點(diǎn)Python可以讓程序員專(zhuān)注于解決問(wèn)題,而不是語(yǔ)法。Python使用的關(guān)鍵字比較少,棄用了花括號(hào)、begin和end等標(biāo)記,直接使用空格或制表符來(lái)區(qū)分代碼塊,語(yǔ)句末尾也不需要使用分號(hào),語(yǔ)法結(jié)構(gòu)易讀、易維護(hù)。交互模式在Python命令提示符下可以直接輸入代碼,按回車(chē)鍵即可解釋運(yùn)行代碼并直接查看運(yùn)行結(jié)果。解釋性語(yǔ)言Python語(yǔ)言寫(xiě)的程序不需要編譯成二進(jìn)制代碼,可以直接從源代碼運(yùn)行程序??缙脚_(tái)性Python主要特點(diǎn)Python支持包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、WindowsCE、PocketPC、Android等幾乎全部的操作系統(tǒng)??蓴U(kuò)展性Python不僅可以引入.py文件,還可以通過(guò)接口和庫(kù)函數(shù)調(diào)用由其它高級(jí)語(yǔ)言(如C語(yǔ)言、C++、Java等)編寫(xiě)的代碼。類(lèi)庫(kù)豐富Python擁有強(qiáng)大的標(biāo)準(zhǔn)庫(kù)和大量的第三方模塊可供調(diào)用。Python主要特點(diǎn)數(shù)字華容道吃豆人Python可以?xún)H用一兩行代碼完成數(shù)字華容道、吃豆人等游戲的開(kāi)發(fā)。Web應(yīng)用開(kāi)發(fā):Python提供了豐富的Web開(kāi)發(fā)框架比如Django、flask、TurboGears、web2py等,支持方便的開(kāi)發(fā)Web應(yīng)用。Python應(yīng)用領(lǐng)域自動(dòng)化運(yùn)維:Python編寫(xiě)的系統(tǒng)管理腳本,無(wú)論是可讀性,還是性能、代碼重用度以及擴(kuò)展性方面,優(yōu)于普通的shell腳本。Python應(yīng)用領(lǐng)域人工智能領(lǐng)域:Python在人工智能領(lǐng)域內(nèi)的機(jī)器學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)、深度學(xué)習(xí)等方面,都是主流的編程語(yǔ)言。Python應(yīng)用領(lǐng)域網(wǎng)絡(luò)爬蟲(chóng):Python提供了豐富Web抓取工具和框架,可以有效地采集在線(xiàn)數(shù)據(jù)和網(wǎng)頁(yè)內(nèi)容。Python應(yīng)用領(lǐng)域科學(xué)計(jì)算Python提供了很多模塊幫助用戶(hù)在計(jì)算巨型數(shù)組、矢量分析等方面高效完成任務(wù)。游戲開(kāi)發(fā)Python支持進(jìn)行二維和三維圖像處理,可用于編寫(xiě)游戲軟件。數(shù)據(jù)庫(kù)編程Python支持與MicrosoftSQLServer,Oracle,Sybase,DB2,MySQL、SQLite等數(shù)據(jù)庫(kù)通信。Python應(yīng)用領(lǐng)域網(wǎng)絡(luò)編程提供豐富的模塊支持sockets編程,能方便快速地開(kāi)發(fā)分布式應(yīng)用程序。下載Python01安裝Python02運(yùn)行Python031.2下載、安裝和運(yùn)行Python下載網(wǎng)址:/downloads/Python下載可選擇不同版本下載Python下載Python安裝Python安裝Python安裝IDLE(Python3.1064-bit):簡(jiǎn)單的Python集成開(kāi)發(fā)環(huán)境。Python3.10(64-bit):Python命令解釋器。Python3.10Manuals(64-bit):Python說(shuō)明文檔。Python3.10ModuleDocs(64-bit):Python的模塊幫助文檔。Python安裝運(yùn)行Python命令行解釋器Python運(yùn)行1)通過(guò)快捷方式運(yùn)行:?jiǎn)螕簟伴_(kāi)始”菜單按鈕,依次選擇“Python3.10”“Python3.10(64bit)”菜單命令,打開(kāi)如下圖所示的窗口。運(yùn)行Python命令行解釋器Python運(yùn)行退出解釋器,可以在命令行提示符下輸入quit(),或者使用快捷鍵Ctrl+Z運(yùn)行Python命令行解釋器Python運(yùn)行2)通過(guò)命令方式運(yùn)行:運(yùn)行cmd.exe,打開(kāi)控制臺(tái)窗口,在這里運(yùn)行Python命令即可。Python命令格式如下:Python運(yùn)行Python[選項(xiàng)][-c命令|-m模塊名稱(chēng)|腳本|-][參數(shù)]常用的選項(xiàng)和參數(shù)說(shuō)明如下:-c命令:表示以字符串形式傳入命令-m模塊名:將庫(kù)模塊作為腳本運(yùn)行腳本:運(yùn)行腳本程序-:從stdin中讀取程序查看完整用法,輸入命令python-hPython運(yùn)行運(yùn)行程序文件,輸入命令pythontree.pyPython運(yùn)行運(yùn)行Python集成開(kāi)發(fā)環(huán)境IDLE:Python的IDLE集成開(kāi)發(fā)環(huán)境具有文本編輯、語(yǔ)法加亮顯示、代碼自動(dòng)完成、段落縮進(jìn)、Tab鍵控制、程序調(diào)試等功能。單擊單擊“開(kāi)始”菜單按鈕,依次選擇“Python3.10”“IDLE(Python3.1064-bit)”菜單命令,打開(kāi)集成開(kāi)發(fā)環(huán)境窗口。Python運(yùn)行1.3常用PythonIDEPyCharm常用開(kāi)發(fā)工具PyCharm是開(kāi)發(fā)者最常使用的開(kāi)發(fā)工具,具有調(diào)試、語(yǔ)法高亮、Project管理、代碼跳轉(zhuǎn)、智能提示、單元測(cè)試、版本控制等,使用PyCharm可以實(shí)現(xiàn)程序編寫(xiě)、運(yùn)行、測(cè)試的一體化。VisualStudioCode常用開(kāi)發(fā)工具由Microsoft開(kāi)發(fā)的輕量級(jí)、跨平臺(tái)的源代碼編輯器,支持Python的開(kāi)發(fā)和調(diào)試。具有代碼高亮、智能代碼補(bǔ)全、調(diào)試等功能。JupyterNotebookJupyterNotebook本質(zhì)上是一個(gè)Web應(yīng)用程序,允許用戶(hù)創(chuàng)建和共享包含代碼、文本和可視化內(nèi)容的文檔。Spyder常用開(kāi)發(fā)工具Spyder一個(gè)Python科學(xué)計(jì)算環(huán)境,集成了交互式控制臺(tái)、編輯器、集成的調(diào)試器和變量瀏覽器等功能,特別適用于數(shù)據(jù)分析和科學(xué)計(jì)算。AnacondaAnaconda包含Python發(fā)行版和多個(gè)常用的數(shù)據(jù)科學(xué)包,如NumPy、Pandas等。Anaconda自帶SpyderIDE,也支持其他IDE,如JupyterNotebook和PyCharm。Thonny常用開(kāi)發(fā)工具Thonny是為初學(xué)者設(shè)計(jì)的IDE,具有實(shí)時(shí)反饋程序運(yùn)行過(guò)程、調(diào)試時(shí)顯示變量值和函數(shù)調(diào)用過(guò)程等特點(diǎn),可以幫助初學(xué)者更好地理解和調(diào)試代碼。Eclipse+PyDevEclipse+PyDev通常被用于創(chuàng)建和開(kāi)發(fā)交互式的Web應(yīng)用。Eclipse支持多種編程語(yǔ)言;PyDev是Eclipse中用于開(kāi)發(fā)Python程序的IDE。Vim常用開(kāi)發(fā)工具Vim是Linux系統(tǒng)中的高級(jí)文本編輯器,也是Linux程序員廣泛使用的編輯器,它具有代碼補(bǔ)全、編譯及錯(cuò)誤跳轉(zhuǎn)等功能,并支持以插件形式進(jìn)行擴(kuò)展,實(shí)現(xiàn)更豐富的功能。SublimeTextSublimeText功能豐富、支持多種語(yǔ)言、有自己的包管理器,開(kāi)發(fā)者可通過(guò)包管理器安裝組件、插件和額外的樣式,以提升編碼體驗(yàn),是開(kāi)發(fā)者群體中最流行的編輯器之一。PyCharm下載與安裝01PyCharm配置與運(yùn)行021.4安裝和配置PyCharmPyCharm下載與安裝PyCharm操作簡(jiǎn)捷、功能齊全,既適用于新手,也可滿(mǎn)足開(kāi)發(fā)人員的專(zhuān)業(yè)開(kāi)發(fā)需求。PyCharm下載與安裝1)下載PyCharm訪(fǎng)問(wèn)PyCharm官方網(wǎng)址/pycharm/download/,進(jìn)入PyCharm的下載頁(yè)面。選擇免費(fèi)開(kāi)源的Commnuity社區(qū)版下載PyCharm下載與安裝2)安裝PyCharm(1)雙擊下載好的安裝包,打開(kāi)PyCharm安裝向?qū)?,可看到“WelcometoPyCharmCommunityEditionSetup”界面。PyCharm下載與安裝2)安裝PyCharm(2)進(jìn)入“ChooseInstallLocation”界面,用戶(hù)可在此界面設(shè)置PyCharm的安裝路徑,此處使用默認(rèn)路徑。PyCharm下載與安裝2)安裝PyCharm(3)進(jìn)入“InstallationOptions”的界面,在該界面可配置安裝選項(xiàng),如右圖所示。PycharmCommunityEdition:創(chuàng)建桌面快捷方式。Add“bin”foldertoPATH:添加pycharm的bin目錄到系統(tǒng)環(huán)境變量path中。addopenfolderasproject

:在Windows的右鍵彈出菜單中添加菜單項(xiàng)。.py:關(guān)聯(lián)擴(kuò)展名為py的文件。PyCharm下載與安裝2)安裝PyCharm(4)勾選前圖所示界面中的所有選項(xiàng),單擊【Next>】按鈕進(jìn)入“ChooseStartMenuFolder”界面,如右圖所示。PyCharm下載與安裝2)安裝PyCharm(5)單擊【Install】按鈕安裝PyCharm,如右圖所示,顯示安裝進(jìn)度和安裝內(nèi)容。PyCharm下載與安裝2)安裝PyCharm(6)PyCharm安裝完成后,界面如右圖所示。單擊【Finish】按鈕可結(jié)束安裝。PyCharm配置與運(yùn)行1)單擊桌面上的PyCharm快捷方式,打開(kāi)PyCharm,初次運(yùn)行需同意用戶(hù)協(xié)議、確認(rèn)是否數(shù)據(jù)分享;之后會(huì)進(jìn)入PyCharm的歡迎窗口。PyCharm配置與運(yùn)行2)單擊“Customize”可修改用戶(hù)界面。此處修改了顏色主題為亮色(IntelliJLight)、字體大小為16.0。PyCharm配置與運(yùn)行2)單擊“CreateNewProject”按鈕進(jìn)入新建項(xiàng)目窗口。設(shè)置項(xiàng)目文件夾配置新的虛擬環(huán)境指定虛擬環(huán)境所在文件夾指定Python解釋器版本及位置PyCharm配置與運(yùn)行3)單擊【Create】按鈕完成項(xiàng)目創(chuàng)建并進(jìn)入PyCharm主界面,如下圖所示。PyCharm配置與運(yùn)行4)在該項(xiàng)目中添加Python文件。右擊項(xiàng)目名稱(chēng),在彈出的下拉菜單中選擇【New】→【PythonFile】。在【NewPythonfile】對(duì)話(huà)框中輸入文件名“First”,類(lèi)別為Pythonfile。PyCharm配置與運(yùn)行5)在左側(cè)的項(xiàng)目文件列表中,雙擊打開(kāi)“First.py”,在右側(cè)的代碼窗口中輸入:print(‘Hello,Python!’),按Ctrl+Shift+F10,運(yùn)行該代碼文件??梢栽诘撞康慕Y(jié)果窗格中查看運(yùn)行結(jié)果。PyInstaller簡(jiǎn)介01PyInstaller安裝021.5編譯可執(zhí)行文件PyInstaller使用03編譯可執(zhí)行文件

以腳本模式運(yùn)行Python程序文件時(shí),系統(tǒng)中必須安裝有Python命令行解釋器或者Python集成開(kāi)發(fā)環(huán)境,而這限制了Python程序的運(yùn)行。為了方便運(yùn)行Python開(kāi)發(fā)的程序,可以將Python程序文件打包成可執(zhí)行文件,比如Windows系統(tǒng)中的EXE文件。PyInstaller簡(jiǎn)介PyInstaller是一個(gè)在Windows、GNU/Linux、MacOS、FreeBSD、OpenBSD、Solaris和AIX下將Python程序打包為可執(zhí)行文件的工具軟件。PyInstaller可以與Python3.7-3.10一起使用,通過(guò)透明壓縮構(gòu)建更小的可執(zhí)行文件。它是完全多平臺(tái)的,并且能使用操作系統(tǒng)支持加載動(dòng)態(tài)庫(kù),從而確保完全兼容。PyInstaller簡(jiǎn)介可以使用PyInstaller工具進(jìn)行打包,PyInstaller可以在多個(gè)平臺(tái)使用,并通過(guò)操作系統(tǒng)支持加載動(dòng)態(tài)庫(kù),確保程序的兼容性。使用PyPI來(lái)安裝PyInstaller。PyPI使用pip包管理器來(lái)下載第三方庫(kù)。PyInstaller安裝使用PyPI來(lái)下載、安裝PyInstaller(1)更新pip包管理器到最新版本在Windows命令控制臺(tái)窗口輸入命令:Python-mpipinstall--upgradepipPyInstaller安裝使用PyPI來(lái)下載、安裝PyInstaller(2)安裝PyInstallerpipinstallpyinstaller(3)升級(jí)Pyinstaller到最新版本pipinstall–upgradepyinstallerPyInstaller命令的基本語(yǔ)法格式如下:PyInstaller使用Pyinstaller[選項(xiàng)]<Python源代碼文件>常用的選項(xiàng)和參數(shù)說(shuō)明如下:-D,--onedir:默認(rèn)選項(xiàng),生成一個(gè)包含多個(gè)文件(含可執(zhí)行文件)的文件夾。-F,--onefile:在dist文件夾中生成單個(gè)的可執(zhí)行文件。-oDIR,--specpathDIR:指定spec文件的生成目錄(默認(rèn)為當(dāng)前目錄)。-nNAME,--nameNAME:分配給捆綁的應(yīng)用程序和規(guī)范文件的名稱(chēng)(默認(rèn)值:第一個(gè)腳本的基本名稱(chēng))。-c,--console,--nowindowed:指定使用命令控制臺(tái)窗口運(yùn)行程序(僅對(duì)Windows有效)。任務(wù)實(shí)現(xiàn)Part.04分析代碼01編寫(xiě)代碼02優(yōu)化代碼03任務(wù)實(shí)現(xiàn)編譯EXE文件04分析代碼特點(diǎn)1圖案全部都是由*號(hào)組成的*號(hào)出現(xiàn)的位置由空格數(shù)量來(lái)確定。第1-6行*號(hào)的個(gè)數(shù)分別為1、3、5、7、9、11個(gè),依次遞增;第7-10行*號(hào)的個(gè)數(shù)都是1個(gè)。第1-6行*號(hào)前面的空格個(gè)數(shù)分別為5、4、3、2、1、0個(gè),第7-10行*號(hào)前面的空格數(shù)都是5個(gè)觀察圖案,找到特點(diǎn):特點(diǎn)2特點(diǎn)3分析代碼第一步:按照每行*號(hào)的規(guī)律,用print()函數(shù)輸出初步的圖案;第二步:在打印每行*號(hào)的基礎(chǔ)上,優(yōu)化代碼,在*號(hào)前面的空格,調(diào)整*號(hào)的位置,最終得到樹(shù)形圖案。代碼思路:(1)啟動(dòng)PyCharm,新建Python項(xiàng)目Tree,新建Python文件Tree.Py編寫(xiě)代碼(2)打印輸出每行*號(hào),輸入如下代碼:編寫(xiě)代碼程序運(yùn)行結(jié)果

每一行只打印了對(duì)應(yīng)的*號(hào)的個(gè)數(shù),并沒(méi)有打印對(duì)應(yīng)的空格,所以打印出來(lái)的圖案不對(duì)。(3)每行*號(hào)前面,再輸出相應(yīng)的空格,調(diào)節(jié)控制位置。編寫(xiě)代碼程序運(yùn)行結(jié)果

優(yōu)化代碼,通過(guò)for循環(huán)完成。優(yōu)化代碼

每一行*號(hào)前面的空格個(gè)數(shù)與*號(hào)的數(shù)量存在聯(lián)系,可以用計(jì)算公式表示為:空格數(shù)量space=(11-*號(hào)數(shù)量i)/2

將每一行*號(hào)的個(gè)數(shù)保存到列表中,通過(guò)for循環(huán)遍歷列表,得到每行*號(hào)的個(gè)數(shù)i,根據(jù)*號(hào)的數(shù)量計(jì)算出空格的數(shù)量space,然后再進(jìn)行輸出顯示。

程序打包成可執(zhí)行文件編譯EXE文件pyinstaller–Ftree.py任務(wù)總結(jié)Part.05通過(guò)本任務(wù)的學(xué)習(xí),全面的了解了Python語(yǔ)言的發(fā)展過(guò)程、主要特點(diǎn)、應(yīng)用領(lǐng)域等內(nèi)容。Python以簡(jiǎn)單易學(xué)、開(kāi)發(fā)方便、代碼量少、生態(tài)健全而著稱(chēng),目前已經(jīng)成為最受歡迎的編程語(yǔ)言。Python程序的兩種運(yùn)行方式:交互式和文件式。交互式:是指Python解釋器逐行接收Python代碼并即時(shí)響應(yīng)執(zhí)行。文件式:是指先將Python代碼保存在文件中,再啟動(dòng)Python解釋器批量解釋并執(zhí)行代碼。Python集成開(kāi)發(fā)環(huán)境(IDE)是用于編寫(xiě)、測(cè)試、調(diào)試Python代碼的集成環(huán)境,常見(jiàn)的PythonIED包括PyCharm、VisualStudioCode、JupyterNotebook、Spyder、Anaconda、Thonny、EclipsewithPyDev、SublimeText等,這些IDE各有特點(diǎn),用戶(hù)可以根據(jù)自己的需求和偏好選擇合適的IDE進(jìn)行Python開(kāi)發(fā)。Python程序在代碼編寫(xiě)、調(diào)試的過(guò)程中需要依賴(lài)Python編程環(huán)境,如果想把Python程序發(fā)布到其它設(shè)備上運(yùn)行,就需要將Python程序打包成可脫離編程環(huán)境、獨(dú)立運(yùn)行的可執(zhí)行文件。而PyInstaller就是一種支持在Windows、GNU/Linux、MacOS等不同平臺(tái)下將Python程序打包為獨(dú)立可執(zhí)行文件的常用工具。項(xiàng)目2基礎(chǔ)語(yǔ)法應(yīng)用了解Python的代碼格式01熟悉Python中的標(biāo)識(shí)符及關(guān)鍵字02掌握Python數(shù)據(jù)的輸入和輸出03知識(shí)目標(biāo)熟悉Python數(shù)字的類(lèi)型及數(shù)字類(lèi)型轉(zhuǎn)換04掌握Python的常用的運(yùn)算符05掌握Python的常用的運(yùn)算符06能夠按照代碼格式編寫(xiě)代碼01能夠熟練使用標(biāo)識(shí)符和關(guān)鍵字02能夠熟練使用輸入和輸出函數(shù)03能力目標(biāo)能夠根據(jù)需求進(jìn)行數(shù)字類(lèi)型轉(zhuǎn)換04能夠熟練的操作常用的運(yùn)算符05目錄打印簡(jiǎn)單名片任務(wù)1傳統(tǒng)長(zhǎng)度單位轉(zhuǎn)換任務(wù)2比較正方形和圓的面積、周長(zhǎng)大小任務(wù)3任務(wù)提出01任務(wù)分析02知識(shí)準(zhǔn)備03任務(wù)1打印簡(jiǎn)單名片任務(wù)實(shí)現(xiàn)04任務(wù)總結(jié)05任務(wù)1打印樹(shù)形圖案任務(wù)提出Part.01提出任務(wù)編寫(xiě)程序,通過(guò)input()函數(shù)和print()函數(shù)控制輸入和輸出信息,實(shí)現(xiàn)打印簡(jiǎn)單名片的功能,如圖所示。任務(wù)分析Part.02任務(wù)分析1.創(chuàng)建Python程序Card.py。2.通過(guò)input()函數(shù)分別采集輸入的個(gè)人信息,并賦值給各個(gè)變量進(jìn)行保存。3.通過(guò)print()函數(shù)設(shè)計(jì)名片顯示效果。4.通過(guò)print()函數(shù)以名片的樣式輸出保存在變量中的個(gè)人信息。5.運(yùn)行測(cè)試程序,檢驗(yàn)輸出的名片效果。

本任務(wù)主要是通過(guò)采集輸入的各種個(gè)人信息,按照預(yù)先設(shè)計(jì)好的格式,將信息以名片的形式展示出來(lái)。名片信息需要通過(guò)變量來(lái)進(jìn)行保存,信息的輸入與輸出需要運(yùn)用input()函數(shù)和print()函數(shù)來(lái)完成,具體的任務(wù)實(shí)施分析如下:知識(shí)準(zhǔn)備Part.03代碼格式01標(biāo)識(shí)符、關(guān)鍵字02變量03知識(shí)準(zhǔn)備數(shù)據(jù)的輸入輸出04注釋01縮進(jìn)02語(yǔ)句換行032.1代碼格式注釋為了提高代碼的可讀性,可以使用注釋對(duì)程序進(jìn)行標(biāo)識(shí),注釋是在代碼和代碼之間穿插的具有輔助性功能的文字,用于解釋說(shuō)明代碼的含義和功能。單行注釋以“#”號(hào)開(kāi)頭,可以獨(dú)占一行也可以位于代碼之后,可通過(guò)快捷鍵ctrl+/添加和取消注釋。多行注釋由三對(duì)單引號(hào)或雙引號(hào)包裹多行語(yǔ)句,主要用于說(shuō)明代碼實(shí)現(xiàn)的功能??s進(jìn)(1)在Python中使用縮進(jìn)來(lái)表示代碼與代碼之間的層次關(guān)系和邏輯關(guān)系??s進(jìn)可以通過(guò)空格鍵或者Tab鍵進(jìn)行控制,一般使用4個(gè)空格的寬度表示一級(jí)縮進(jìn),Python3中首選的縮進(jìn)方法是空格縮進(jìn),不允許將空格鍵和Tab鍵混合使用。(2)并不是所有的Python代碼都能縮進(jìn),一般而言,if分支語(yǔ)句、for和while循環(huán)語(yǔ)句、def函數(shù)定義、class類(lèi)的定義等類(lèi)型的需要使用縮進(jìn)來(lái)表示代碼之間的邏輯關(guān)系,其它語(yǔ)句不能縮進(jìn)。(a)正確縮進(jìn)的代碼(b)錯(cuò)誤縮進(jìn)的代碼4個(gè)空格0個(gè)空格語(yǔ)句換行在Python中通常是一行書(shū)寫(xiě)一條語(yǔ)句,每行代碼一般不超過(guò)79個(gè)字符,如果語(yǔ)句過(guò)長(zhǎng),此時(shí)就需要用到語(yǔ)句換行。語(yǔ)句換行可以通過(guò)在語(yǔ)句的外部使用圓括號(hào)()、中括號(hào)[]或大括號(hào){}來(lái)實(shí)現(xiàn),每行通過(guò)引號(hào)進(jìn)行隱式鏈接,也可以通過(guò)使用反斜杠“\”來(lái)實(shí)現(xiàn)分行書(shū)寫(xiě)的功能。通過(guò)使用引號(hào)來(lái)實(shí)現(xiàn)分行書(shū)寫(xiě)通過(guò)使用反斜杠“\”來(lái)實(shí)現(xiàn)分行書(shū)寫(xiě)標(biāo)識(shí)符01關(guān)鍵字022.2標(biāo)識(shí)符、關(guān)鍵字標(biāo)識(shí)符在Python開(kāi)發(fā)過(guò)程中,程序員希望通過(guò)一些符號(hào)或名稱(chēng)來(lái)表示變量、函數(shù)、對(duì)象、模塊等,以方便程序調(diào)用。這些由程序員自定義的、在程序中使用的符號(hào)稱(chēng)為標(biāo)識(shí)符。標(biāo)識(shí)符Python中的標(biāo)識(shí)符命名需要遵守以下規(guī)則:命名規(guī)則由字母、數(shù)字和下劃線(xiàn)組成,且不能以數(shù)字開(kāi)頭。嚴(yán)格區(qū)分大小寫(xiě)。例如,name和Name是不同的標(biāo)識(shí)符。不能使用Python中的關(guān)鍵字。命名習(xí)慣見(jiàn)名之義。大駝峰:名字中每個(gè)單詞的首字母大寫(xiě),如:ClassName。小駝峰:名字中第二個(gè)及以后的單詞首字母大寫(xiě),如:myFirstName。下劃線(xiàn):名字中的每個(gè)單詞以下劃線(xiàn)分隔,如:my_name。標(biāo)識(shí)符合法標(biāo)識(shí)符class_name#下劃線(xiàn)PassWord#大駝峰

userPhoneNumber#小駝峰不合法標(biāo)識(shí)符123name#不能以數(shù)字開(kāi)頭class

#不能是關(guān)鍵字helloworld#不能包含空格等特殊字符關(guān)鍵字在Python中,保留了某些具有特定含義的符號(hào),它是預(yù)先定義好的,用以特殊的用途,這些符號(hào)稱(chēng)為關(guān)鍵字,又叫保留字。程序員自定義的標(biāo)識(shí)符不能與關(guān)鍵字相同,在Python3中一共保留了35個(gè)關(guān)鍵字,每個(gè)關(guān)鍵字都有相應(yīng)的功能。關(guān)鍵字:False,True,None,and,or,not,if,

elif,else,is,in,for,while,

break,

continue,def,lambda,pass,return,yield,try,except,finally,raise,assert,import,from,as,global,nonlocal,class,

del,with,async,await

2.3變量變量(數(shù)據(jù)的表示)在計(jì)算機(jī)語(yǔ)言中,程序在執(zhí)行過(guò)程中,會(huì)將用到的臨時(shí)數(shù)據(jù)保存到計(jì)算機(jī)的內(nèi)存單元中,那么,如果我們想使用臨時(shí)數(shù)據(jù)該如何提取呢?變量(數(shù)據(jù)的表示)Python通過(guò)使用標(biāo)識(shí)符來(lái)表示不同的內(nèi)存單元,從而使得標(biāo)識(shí)符和數(shù)據(jù)之間建立了連接關(guān)系,因此Python可以方便、快速的在內(nèi)存單元中對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)。18140705615257888標(biāo)識(shí)符內(nèi)存單元地址值age變量(數(shù)據(jù)的表示)在Python程序中,標(biāo)識(shí)不同內(nèi)存單元的標(biāo)識(shí)符又稱(chēng)為變量,內(nèi)存單元中存儲(chǔ)的數(shù)據(jù)稱(chēng)為變量的值。變量的定義格式如下: 單變量定義:變量名=變量值多變量定義:變量名1,變量名2,...=變量值1,變量值2,...

其中變量名符合標(biāo)識(shí)符命名規(guī)則和命名習(xí)慣,“=”被稱(chēng)為賦值運(yùn)算符,即把賦值運(yùn)算符后面的值傳遞給前面的變量。name="TOM"age=18name,age="TOM",18變量(數(shù)據(jù)的表示)變量的值不是一成不變的,它可以隨時(shí)被修改,只要重新賦值即可;另外也可以將不同類(lèi)型的數(shù)據(jù)賦值給同一個(gè)變量。 number=18number=30.5變量(數(shù)據(jù)的表示)注意:變量的值一旦被修改,新的值會(huì)覆蓋舊的值,舊的數(shù)據(jù)將不復(fù)存在。換句話(huà)說(shuō),變量只能容納一個(gè)值。print(number)#30.5變量(數(shù)據(jù)的表示)除了賦值單個(gè)數(shù)據(jù),也可以將表達(dá)式的運(yùn)行結(jié)果賦值給變量。sum=(1+2)*4string='hello'+'world'數(shù)據(jù)的輸入01數(shù)據(jù)的輸出022.4數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入在Python開(kāi)發(fā)過(guò)程中,程序員如果想實(shí)現(xiàn)人機(jī)交互的功能,需要從輸入設(shè)備輸入數(shù)據(jù),也需要向輸出設(shè)備輸出數(shù)據(jù)。在Python語(yǔ)言中通過(guò)使用input()函數(shù)和print()函數(shù)實(shí)現(xiàn)數(shù)據(jù)的輸入和輸出。data=input([prompt])input()函數(shù)數(shù)據(jù)的輸入函數(shù)說(shuō)明prompt指的是提示用戶(hù)輸入的信息,可以省略;用戶(hù)看到提示信息后,通過(guò)鍵盤(pán)輸入數(shù)據(jù),然后按Enter鍵,會(huì)將數(shù)據(jù)傳遞到代碼中;input()接收到的鍵盤(pán)輸入的數(shù)據(jù),通過(guò)賦值運(yùn)算符“=”將數(shù)據(jù)傳遞給變量data;data的數(shù)據(jù)類(lèi)型是字符串類(lèi)型。數(shù)據(jù)的輸入數(shù)據(jù)的輸出print()函數(shù)用于向控制臺(tái)輸出(打印)數(shù)據(jù),它可以輸出任何數(shù)據(jù)類(lèi)型的數(shù)據(jù)。print()函數(shù)的語(yǔ)法格式如下:print(*objects,sep='',end='\n',file=sys.stdout)print()函數(shù)數(shù)據(jù)的輸出函數(shù)說(shuō)明objects:復(fù)數(shù),表示可輸出多個(gè)對(duì)象,對(duì)象之間需要用逗號(hào)分隔;sep:用于指定輸出的多個(gè)對(duì)象之間的分隔符,默認(rèn)使用空格;end:用于指定輸出內(nèi)容的結(jié)尾符號(hào),默認(rèn)使用換行符;file:表示數(shù)據(jù)輸出的文件對(duì)象。數(shù)據(jù)的輸出任務(wù)實(shí)現(xiàn)Part.04分析代碼01編寫(xiě)代碼02任務(wù)實(shí)現(xiàn)分析代碼代碼思路:第一步:需要通過(guò)input()函數(shù)來(lái)獲取用戶(hù)提供的個(gè)人信息,包括名字、職位、公司名稱(chēng)、公司地址、電話(huà)和郵箱等,并將這些信息分別賦值給相應(yīng)的變量;第二步:通過(guò)time.sleep()函數(shù)加入模擬名片制作等待的環(huán)節(jié);第三步:通過(guò)print()函數(shù)來(lái)展示最終的名片效果。編寫(xiě)代碼程序運(yùn)行結(jié)果

啟動(dòng)新建Python項(xiàng)目,新建Python文件Card.py,

輸入如下代碼:任務(wù)總結(jié)Part.05

本次課的任務(wù)是完成打印簡(jiǎn)單名片的功能,主要應(yīng)用input()函數(shù)和print()函數(shù)進(jìn)行設(shè)計(jì)實(shí)現(xiàn)。通過(guò)input()函數(shù)將輸入的名片信息賦值給變量;通過(guò)time模塊中的sleep()函數(shù)實(shí)現(xiàn)制作名片過(guò)程中的等待;通過(guò)print()函數(shù)輸出變量中保存的名片信息。通過(guò)本任務(wù)的學(xué)習(xí),掌握了Python編程中的代碼格式、標(biāo)識(shí)符和關(guān)鍵字、變量的定義、數(shù)據(jù)的輸入和輸出等內(nèi)容。在Python編程過(guò)程中需注意以下幾點(diǎn):在Python代碼中通常使用4個(gè)空格作為一個(gè)縮進(jìn)級(jí)別。一般而言,if分支語(yǔ)句、for和while循環(huán)語(yǔ)句、def函數(shù)定義、class類(lèi)定義等語(yǔ)句需要使用縮進(jìn)來(lái)表示代碼之間的邏輯關(guān)系。在Python代碼中的標(biāo)識(shí)符必須以字母或下劃線(xiàn)開(kāi)頭,后面可以跟任意數(shù)量的字母、數(shù)字或下劃線(xiàn),標(biāo)識(shí)符是嚴(yán)格區(qū)分大小寫(xiě)字符的。標(biāo)識(shí)符的命名除了要遵循命名規(guī)則以外,一般還應(yīng)遵循見(jiàn)名知義、大駝峰、小駝峰、下劃線(xiàn)等命名習(xí)慣,保證代碼中標(biāo)識(shí)符命名風(fēng)格的一致,使代碼易于閱讀和維護(hù)。Python是動(dòng)態(tài)類(lèi)型語(yǔ)言,在Python中不需要顯式的聲明變量及其類(lèi)型,可以直接在賦值時(shí)聲明變量,所賦數(shù)值的數(shù)據(jù)類(lèi)型即為變量的數(shù)據(jù)類(lèi)型。需要注意的是,雖然Python不要求顯式的聲明變量,但是如果代碼中直接使用了未定義或初始化的變量,程序仍將會(huì)報(bào)錯(cuò),顯式類(lèi)似“NameError:nameisnotdefined”的錯(cuò)誤提示。任務(wù)提出01任務(wù)分析02知識(shí)準(zhǔn)備03任務(wù)2傳統(tǒng)長(zhǎng)度單位轉(zhuǎn)換任務(wù)實(shí)現(xiàn)04任務(wù)總結(jié)05任務(wù)1打印樹(shù)形圖案任務(wù)提出Part.01提出任務(wù)國(guó)內(nèi)很多場(chǎng)合下習(xí)慣使用里、公里、丈、尺等長(zhǎng)度單位,不同的長(zhǎng)度單位之間可以按照規(guī)則進(jìn)行換算。運(yùn)用所學(xué)知識(shí)實(shí)現(xiàn)傳統(tǒng)長(zhǎng)度單位轉(zhuǎn)換的功能,如右圖所示。任務(wù)分析Part.02任務(wù)分析1.創(chuàng)建Python程序Change.py。2.通過(guò)input()函數(shù)輸入需要轉(zhuǎn)換的長(zhǎng)度值,并轉(zhuǎn)換成數(shù)值類(lèi)型。3.根據(jù)單位換算關(guān)系,將輸入的長(zhǎng)度分別轉(zhuǎn)換為相應(yīng)的里、公里、丈、尺。4.通過(guò)print()函數(shù)顯示轉(zhuǎn)換結(jié)果。5.運(yùn)行測(cè)試程序,檢驗(yàn)轉(zhuǎn)換結(jié)果是否正確。本任務(wù)主要實(shí)現(xiàn)的是長(zhǎng)度單位米與里、公里、長(zhǎng)、尺之間的轉(zhuǎn)換,需要了解各個(gè)單位之間的換算關(guān)系。另外,由于通過(guò)input()函數(shù)輸入的數(shù)據(jù)為字符類(lèi)型,需要轉(zhuǎn)換成數(shù)值類(lèi)型,才可以進(jìn)行換算。具體的任務(wù)實(shí)施分析如下:知識(shí)準(zhǔn)備Part.03數(shù)字類(lèi)型01常量02數(shù)字類(lèi)型轉(zhuǎn)換03知識(shí)準(zhǔn)備整數(shù)類(lèi)型01浮點(diǎn)類(lèi)型022.5數(shù)字類(lèi)型查看數(shù)字類(lèi)型05布爾類(lèi)型04復(fù)數(shù)類(lèi)型03整數(shù)類(lèi)型用來(lái)表示整數(shù)的數(shù)字類(lèi)型為整數(shù)類(lèi)型(int),又稱(chēng)為整型,常用的計(jì)數(shù)方式有二進(jìn)制、八進(jìn)制、十進(jìn)制和十六進(jìn)制。計(jì)數(shù)方式數(shù)字開(kāi)頭示例進(jìn)制轉(zhuǎn)換函數(shù)函數(shù)說(shuō)明二進(jìn)制“0B”或“0b”0b11bin(x)

將x轉(zhuǎn)換為二進(jìn)制八進(jìn)制“0O”或“0o”0o3oct(x)將x轉(zhuǎn)換為八進(jìn)制十進(jìn)制3int(x)將x轉(zhuǎn)換為十進(jìn)制十六進(jìn)制“0X”或“0x”0x3hex(x)將x轉(zhuǎn)換為十六進(jìn)制浮點(diǎn)型用來(lái)表示實(shí)數(shù)的數(shù)字類(lèi)型為浮點(diǎn)型(float),浮點(diǎn)型由整數(shù)、小數(shù)點(diǎn)和小數(shù)部分組成。例如,10.0、3.14、0.9等。可以使用科學(xué)記數(shù)法表示較大或較小的浮點(diǎn)數(shù),科學(xué)記數(shù)法格式:ax10^n,其中1≤|a|<10,在Python中使用e或E代表底數(shù)10。例如:浮點(diǎn)型科學(xué)記數(shù)法31400.03.14e40.000011e-528002.8E30.000363.6E-4浮點(diǎn)型的取值范圍為-1.8e308~1.8e308,若超出范圍,Python會(huì)將值視為無(wú)窮大(inf)或無(wú)窮小(-inf)。復(fù)數(shù)類(lèi)型復(fù)數(shù)類(lèi)型用于表示數(shù)學(xué)中的復(fù)數(shù),復(fù)數(shù)類(lèi)型由實(shí)部和虛部構(gòu)成,它的一般表示形式為:real+imagj,其中real為實(shí)部,imag為虛部,real和imag都為浮點(diǎn)型,j為虛部單位。number=3+4j

#實(shí)部為3,虛部為4print(number.real)

#3.0print(number.imag)

#4.0布爾類(lèi)型布爾類(lèi)型(bool)可以看作是一種特殊的整型,布爾類(lèi)型數(shù)據(jù)只有兩個(gè)取值True和False,其中True對(duì)應(yīng)整數(shù)1,F(xiàn)alse對(duì)應(yīng)整數(shù)0。布爾值為False的數(shù)據(jù):None。False。任何數(shù)字類(lèi)型的0,如0、0.0、0j。任何空序列,如‘’‘’、()、[]??兆值?,如{}。查看數(shù)字類(lèi)型可以通過(guò)type()函數(shù)查看變量的數(shù)字類(lèi)型。number1=3+4j#復(fù)數(shù)類(lèi)型number2=True#布爾類(lèi)型#通過(guò)type()函數(shù)查看變量的數(shù)字類(lèi)型print(type(number1))#輸出:<class'complex'>print(type(number2))#輸出:<class'bool'>2.6常量常量相對(duì)于變量而言,常量是不可更改的量。但是在Python中,并沒(méi)有使用語(yǔ)法來(lái)強(qiáng)制定義常量,也就是說(shuō),常量的定義方法和變量的定義方法相同,常量本質(zhì)上就是變量。但是有一點(diǎn)區(qū)別,常量名必須全大寫(xiě),以此來(lái)區(qū)分常量和變量。2.7數(shù)字類(lèi)型轉(zhuǎn)換數(shù)字類(lèi)型轉(zhuǎn)換在Python的編程過(guò)程中,經(jīng)常會(huì)用到各種各樣的數(shù)字類(lèi)型,這時(shí)就涉及到數(shù)字類(lèi)型之間的轉(zhuǎn)換,即數(shù)字類(lèi)型不是一成不變的。那么Python是如何實(shí)現(xiàn)數(shù)字類(lèi)型之間的相互轉(zhuǎn)換呢?可以使用Python內(nèi)置的可實(shí)現(xiàn)強(qiáng)制類(lèi)型轉(zhuǎn)換的函數(shù),這些函數(shù)可以將目標(biāo)數(shù)據(jù)轉(zhuǎn)換成指定的數(shù)字類(lèi)型。數(shù)字類(lèi)型間進(jìn)行轉(zhuǎn)換的函數(shù)有int()、float()、complex()、bool()。需要注意的是浮點(diǎn)型數(shù)據(jù)轉(zhuǎn)換為整型數(shù)據(jù)后只保留整數(shù)部分。數(shù)字類(lèi)型轉(zhuǎn)換函數(shù)函數(shù)說(shuō)明int(x,base=10)將數(shù)字x轉(zhuǎn)換為一個(gè)十進(jìn)制整數(shù);或者將字符串x按照base進(jìn)制的數(shù),轉(zhuǎn)換成十進(jìn)制的數(shù)。float(x)將x轉(zhuǎn)換成一個(gè)浮點(diǎn)型數(shù)據(jù)complex(x)將x轉(zhuǎn)換成一個(gè)復(fù)數(shù)類(lèi)型數(shù)據(jù)bool(x)將x轉(zhuǎn)換成一個(gè)布爾類(lèi)型數(shù)據(jù)數(shù)字類(lèi)型轉(zhuǎn)換任務(wù)實(shí)現(xiàn)Part.04分析代碼01編寫(xiě)代碼02任務(wù)實(shí)現(xiàn)分析代碼第一步:需要通過(guò)input()函數(shù)來(lái)獲取轉(zhuǎn)換的長(zhǎng)度值,并運(yùn)用float函數(shù)將其轉(zhuǎn)換為浮點(diǎn)類(lèi)型。在這里,將轉(zhuǎn)換前的長(zhǎng)度設(shè)定為米;第二步:通過(guò)time.sleep()函數(shù)加入模擬轉(zhuǎn)換等待的環(huán)節(jié)。再根據(jù)換算公式,依次將長(zhǎng)度轉(zhuǎn)換成里、公里、丈、尺等,并存入不同的變量中;第三步:通過(guò)print()函數(shù)來(lái)展示最終的轉(zhuǎn)換結(jié)果。代碼思路:

啟動(dòng)PyCharm,在項(xiàng)目文件夾chapter02中新建Python文件Change.py,輸入如下代碼:輸入如下代碼:編寫(xiě)代碼程序運(yùn)行結(jié)果任務(wù)總結(jié)Part.05

本次課的任務(wù)是完成傳統(tǒng)長(zhǎng)度單位轉(zhuǎn)換的功能,主要應(yīng)用input()函數(shù)、print()函數(shù)和數(shù)字類(lèi)型轉(zhuǎn)換進(jìn)行設(shè)計(jì)實(shí)現(xiàn)。通過(guò)input()函數(shù)輸入需要轉(zhuǎn)換的長(zhǎng)度,單位為米;根據(jù)里、公里、丈、尺與米之間的單位轉(zhuǎn)換公式進(jìn)行轉(zhuǎn)換;通過(guò)print()函數(shù)將輸入的長(zhǎng)度轉(zhuǎn)換結(jié)果進(jìn)行打印。

通過(guò)本任務(wù)的學(xué)習(xí),深入理解了數(shù)字類(lèi)型的特點(diǎn)、學(xué)習(xí)了如何定義常量,以及如何運(yùn)用內(nèi)置的int()、float()、complex()和bool()函數(shù)在整數(shù)、浮點(diǎn)數(shù)、復(fù)數(shù)和布爾值之間進(jìn)行轉(zhuǎn)換。在編程過(guò)程中,需注意以下幾點(diǎn):Python的數(shù)字類(lèi)型包括用于表示正整數(shù)、負(fù)整數(shù)和零的整數(shù)類(lèi)型;用于表示帶有小數(shù)點(diǎn)的實(shí)數(shù)的浮點(diǎn)類(lèi)型;用于表示包含實(shí)部和虛部的復(fù)數(shù)類(lèi)型;只有True和False兩個(gè)取值,通常用于邏輯運(yùn)算和條件判斷的布爾類(lèi)型。Python中一般使用全部大寫(xiě)的標(biāo)識(shí)符來(lái)表示常量,常量一旦定義,其值就不應(yīng)再被修改。在進(jìn)行數(shù)字類(lèi)型轉(zhuǎn)換時(shí),可能會(huì)發(fā)生數(shù)據(jù)丟失或精度變化的情況。例如,將浮點(diǎn)數(shù)轉(zhuǎn)換為整數(shù)時(shí),小數(shù)部分會(huì)被舍去;將大整數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)時(shí),可能會(huì)喪失部分精度。任務(wù)提出01任務(wù)分析02知識(shí)準(zhǔn)備03任務(wù)3比較正方形和圓的面積、周長(zhǎng)大小任務(wù)實(shí)現(xiàn)04任務(wù)總結(jié)05任務(wù)提出Part.01提出任務(wù)當(dāng)正方形和圓的周長(zhǎng)相等時(shí),誰(shuí)的面積更大?當(dāng)正方形和圓的面積相等時(shí),誰(shuí)的周長(zhǎng)更長(zhǎng)?編寫(xiě)程序,計(jì)算并比較正方形和圓的面積、周長(zhǎng)之間的大小關(guān)系,如圖所示。任務(wù)分析Part.02任務(wù)分析1.創(chuàng)建Python程序Compare.py。2.計(jì)算周長(zhǎng)相等的正方形和圓的面積。3.計(jì)算面積相等的正方形和圓的周長(zhǎng)。4.比較面積和周長(zhǎng)之間的大小關(guān)系并顯示比較結(jié)果。5.運(yùn)行測(cè)試程序,檢查轉(zhuǎn)換結(jié)果是否正確。

本任務(wù)主要是比較正方形和圓的面積以及周長(zhǎng)之間的大小關(guān)系,通過(guò)算術(shù)運(yùn)算符計(jì)算周長(zhǎng)和面積,賦值運(yùn)算符將相應(yīng)的數(shù)值賦值給變量,比較運(yùn)算符比較周長(zhǎng)或面積的大小,具體的任務(wù)實(shí)施分析如下:知識(shí)準(zhǔn)備Part.03算術(shù)運(yùn)算符01賦值運(yùn)算符02比較運(yùn)算符03知識(shí)準(zhǔn)備邏輯運(yùn)算符04成員運(yùn)算符05身份運(yùn)算符06位運(yùn)算符07運(yùn)算符優(yōu)先級(jí)08算術(shù)運(yùn)算符01臨時(shí)類(lèi)型轉(zhuǎn)換022.8算術(shù)運(yùn)算符算術(shù)運(yùn)算符Python中的算術(shù)運(yùn)算符包括+(加號(hào))、-(減號(hào))、*(乘號(hào))、/(除號(hào))、//(整除)、%(取余)和**(求冪),算術(shù)運(yùn)算符與數(shù)值一起使用來(lái)執(zhí)行常見(jiàn)的數(shù)學(xué)運(yùn)算。運(yùn)算符運(yùn)算符功能+使加號(hào)左右兩邊的操作數(shù)相加,得到相加的結(jié)果-減號(hào)左邊的操作數(shù)減去右邊的操作數(shù),得到相減的結(jié)果*使乘號(hào)左右兩邊的操作數(shù)相乘,得到相乘的結(jié)果/除號(hào)左邊的操作數(shù)除以右邊的操作數(shù),得到相除的結(jié)果//整除左邊的操作數(shù)除以右邊的操作數(shù),得到相除的結(jié)果的整數(shù)部分%使取余左右兩邊的操作數(shù)相除,得到相除結(jié)果的余數(shù)**使兩個(gè)操作數(shù)進(jìn)行求冪,得到求冪之后的結(jié)果臨時(shí)類(lèi)型轉(zhuǎn)換數(shù)字類(lèi)型的變量由算術(shù)運(yùn)算符連接起來(lái),就構(gòu)成了算術(shù)表達(dá)式,它得到的計(jì)算結(jié)果是一個(gè)數(shù)值。不同類(lèi)型的數(shù)字類(lèi)型進(jìn)行混合算術(shù)運(yùn)算時(shí),Python會(huì)強(qiáng)制將數(shù)字的類(lèi)型進(jìn)行臨時(shí)類(lèi)型轉(zhuǎn)換,相應(yīng)的轉(zhuǎn)換規(guī)則如下:當(dāng)多個(gè)運(yùn)算符同時(shí)出現(xiàn)在一個(gè)算術(shù)表達(dá)式中時(shí),算術(shù)運(yùn)算符的優(yōu)先級(jí)從**(求冪)、*(乘號(hào))、/(除號(hào))、%(取余)、//(整除)、+(加號(hào))、-(減號(hào))依次遞減。1.整型與浮點(diǎn)型進(jìn)行混合運(yùn)算時(shí),Python將整型轉(zhuǎn)化為浮點(diǎn)型。2.其他數(shù)字類(lèi)型與復(fù)數(shù)進(jìn)行混合運(yùn)算時(shí),Python將其他類(lèi)型轉(zhuǎn)換為復(fù)數(shù)類(lèi)型。臨時(shí)類(lèi)型轉(zhuǎn)換賦值運(yùn)算符01復(fù)合賦值運(yùn)算符022.9賦值運(yùn)算符海象運(yùn)算符03賦值運(yùn)算符賦值運(yùn)算符“=”的功能是把賦值運(yùn)算符右側(cè)的對(duì)象或者表達(dá)式傳遞給左值,左值通常是一個(gè)可修改的變量,不能是一個(gè)常量。賦值運(yùn)算符允許同時(shí)為多個(gè)變量進(jìn)行賦值,有兩種方法:#方法一,同時(shí)為多個(gè)變量賦相同的值a=b=c=2#同時(shí)為多個(gè)變量a,b,c賦相同的值2#方法二,同時(shí)為多個(gè)變量賦不同的值a,b,c=1,2,'hello'#同時(shí)為多個(gè)變量a,b,c賦1,2,'hello'復(fù)合賦值運(yùn)算符所有的算術(shù)運(yùn)算符都可以與賦值運(yùn)算符“=”組合成復(fù)合賦值運(yùn)算符,使得復(fù)合賦值運(yùn)算符同時(shí)具備賦值和運(yùn)算的功能。復(fù)合賦值運(yùn)算符的說(shuō)明如下表所示:運(yùn)算符運(yùn)算符功能示例+=加等于,將左值加上右值的和賦給左值a+=b,等價(jià)于a=a+b-=減等于,將左值減去右值的差賦給左值a-=b,等價(jià)于a=a-b*=乘等于,將左值乘以右值的積賦給左值a*=b,等價(jià)于a=a*b/=除等于,將左值除以右值的商賦給左值a/=b,等價(jià)于a=a/b//=整除等于,將左值整除右值的商的整數(shù)部分賦給左值a//=b,等價(jià)于a=a//b%=取余等于,將左值除以右值的余數(shù)賦給左值a%=b,等價(jià)于a=a%b**=冪等于,將左值的右值次冪的結(jié)果賦給左值a**=b,等價(jià)于a=a**b海象運(yùn)算符在Python3.8版本中,新增了一個(gè)賦值運(yùn)算符——“:=”,稱(chēng)為海象運(yùn)算符,該運(yùn)算符用于在表達(dá)式的內(nèi)部為變量進(jìn)行賦值,因運(yùn)算符的形狀形似海象的眼睛和一對(duì)長(zhǎng)牙而得名。number1=1#使用海象運(yùn)算符為number2賦值sum=number1+(number2:=2)print(sum)#3海象運(yùn)算符2.10比較運(yùn)算符比較運(yùn)算符比較運(yùn)算符又稱(chēng)關(guān)系運(yùn)算符,用于比較兩個(gè)數(shù)據(jù),判斷數(shù)據(jù)之間的關(guān)系。在Python中的比較運(yùn)算符一共有6個(gè),包括==、!=、>、<、>=、<=,比較的結(jié)果只能是布爾值True或False。用比較運(yùn)算符連接的表達(dá)式稱(chēng)為關(guān)系表達(dá)式,一般在流程控制結(jié)構(gòu)中使用。運(yùn)算符運(yùn)算符功能==比較運(yùn)算符兩邊的操作數(shù)的值是否相等,如果相等返回True,否則返回False!=比較運(yùn)算符兩邊的操作數(shù)的值是否相等,如果不相等返回True,否則返回False>比較運(yùn)算符的左操作數(shù)是否大于右操作數(shù),如果大于返回True,否則返回False<比較運(yùn)算符的左操作數(shù)是否小于右操作數(shù),如果小于返回True,否則返回False>=比較運(yùn)算符的左操作數(shù)是否大于等于右操作數(shù),如果大于等于返回True,否則返回False<=比較運(yùn)算符的左操作數(shù)是否小于等于右操作數(shù),如果小于等于返回True,否則返回False比較運(yùn)算符“=”與“==”的區(qū)別:對(duì)于初學(xué)者,非常容易混淆“=”和“==”的功能,特別是在if語(yǔ)句和while語(yǔ)句的使用時(shí),經(jīng)常錯(cuò)把"="當(dāng)做“==”來(lái)用,從而導(dǎo)致報(bào)錯(cuò)?!?”是賦值運(yùn)算符,作用是將一個(gè)表達(dá)式或?qū)ο筚x值給一個(gè)左值,左邊必須是變量名,右邊必須是某個(gè)元素或者表達(dá)式。例如number=10,將整數(shù)10賦值給變量number。"=="是比較運(yùn)算符,功能是用來(lái)判斷左右兩邊的內(nèi)容是否相等,左邊和右邊都可以是變量或者表達(dá)式。例如a==b,如果a和b相等,則返回True,否則返回False。比較運(yùn)算符比較運(yùn)算符2.11邏輯運(yùn)算符邏輯運(yùn)算符在Python中,可以通過(guò)使用and、or和not這三個(gè)邏輯運(yùn)算符來(lái)實(shí)現(xiàn)“與”、“或”和“非”的邏輯運(yùn)算功能。其中,and和or是雙目運(yùn)算符,而not則是單目運(yùn)算符,其運(yùn)算結(jié)果是一個(gè)布爾值。運(yùn)算符邏輯表達(dá)式運(yùn)算符功能andxandy若x、y均為T(mén)rue,則結(jié)果為T(mén)rue,否則結(jié)果為False。orxory若x、y均為False,則結(jié)果為False,否則結(jié)果為T(mén)rue。notnotx若x為T(mén)rue,則結(jié)果為False,否則結(jié)果為T(mén)rue。邏輯運(yùn)算符2.12成員運(yùn)算符成員運(yùn)算符在Python中,in和notin運(yùn)算符被統(tǒng)稱(chēng)為成員運(yùn)算符,主要用于判斷某個(gè)特定元素是否存在于某個(gè)序列中,這個(gè)序列可以是字符串、列表、元組等多種數(shù)據(jù)類(lèi)型。運(yùn)算符運(yùn)算符功能in如果給定元素在序列中,返回True,否則,返回False。notin如果給定元素不在序列中,返回True,否則,返回False。2.13身份運(yùn)算符身份運(yùn)算符Python中的身份運(yùn)算符主要用于比較兩個(gè)對(duì)象的內(nèi)存地址是否相同,即它們是否引用同一個(gè)對(duì)象。運(yùn)算符運(yùn)算符功能is如果兩個(gè)操作數(shù)引用同一個(gè)對(duì)象,返回True;否則返回False。isnot如果兩個(gè)操作數(shù)不引用同一個(gè)對(duì)象,返回True;否則返回False。2.14位運(yùn)算符位運(yùn)算符Python支持多種位運(yùn)算符,這些運(yùn)算符直接對(duì)整數(shù)類(lèi)型的二進(jìn)制表示進(jìn)行操作。運(yùn)算符運(yùn)算符功能&按位與,如果兩個(gè)相應(yīng)的二進(jìn)制位都為1,則該位的結(jié)果值為1,否則為0。|按位或,如果兩個(gè)相應(yīng)的二進(jìn)制位中至少有一個(gè)為1,則該位的結(jié)果值為1,否則為0。^按位異或,如果兩個(gè)相應(yīng)的二進(jìn)制位相同,則該位的結(jié)果值為0,否則為1。~按位取反,如果二進(jìn)制位為1,則結(jié)果為0,否則為1。<<按位左移,將數(shù)字的二進(jìn)制表示向左移動(dòng)指定的位數(shù),右邊用零填充。>>按位右移,將數(shù)字的二進(jìn)制表示向右移動(dòng)指定的位數(shù),左邊用零填充(對(duì)于無(wú)符號(hào)整數(shù))或用符號(hào)位填充(對(duì)于有符號(hào)整數(shù))。位運(yùn)算符2.15運(yùn)算符優(yōu)先級(jí)運(yùn)算符優(yōu)先級(jí)在Python中,運(yùn)算符的優(yōu)先級(jí)決定了表達(dá)式中操作的執(zhí)行順序。運(yùn)算符運(yùn)算符描述()括號(hào)內(nèi)的表達(dá)式會(huì)優(yōu)先執(zhí)行+x,-x,~x正號(hào)、負(fù)號(hào)和按位取反**求冪*、@、/、%、//乘、矩陣乘法、除、取余、整除+、-加、減>>、<<按位右移、按位左移運(yùn)算符優(yōu)先級(jí)運(yùn)算符運(yùn)算符描述&按位與^、|按位異或、按位或==、!=、>、<、>=、<=比較運(yùn)算符is,isnot身份運(yùn)算符in、notin成員運(yùn)算符not、and、or邏輯運(yùn)算符=、+=、-=賦值運(yùn)算符任務(wù)實(shí)現(xiàn)Part.04分析代碼01編寫(xiě)代碼02任務(wù)實(shí)現(xiàn)分析代碼第一步:對(duì)于周長(zhǎng)相等的正方形和圓,它們的面積誰(shuí)大誰(shuí)小呢?假設(shè)正方形和圓的周長(zhǎng)都是1,分別得出正方形的邊長(zhǎng)和圓的半徑,進(jìn)而計(jì)算面積。第二步:對(duì)于面積相等的正方形和圓,它們的周長(zhǎng)誰(shuí)大誰(shuí)小呢?假設(shè)正方形和圓的面積都是1,分別得出正方形的邊長(zhǎng)和圓的半徑,進(jìn)而計(jì)算周長(zhǎng)。第三步:比較兩種情況下的面積和周長(zhǎng)的大小,并進(jìn)行打印。代碼思路:(1)啟動(dòng)PyCharm,在項(xiàng)目文件夾chapter02中新建Python文件Compare.py,輸入如下代碼:編寫(xiě)代碼(2)輸入如下代碼:編寫(xiě)代碼程序運(yùn)行結(jié)果任務(wù)總結(jié)Part.05

通過(guò)本任務(wù)的學(xué)習(xí),掌握了Python中運(yùn)算符的使用方法以及運(yùn)算符優(yōu)先級(jí)。在使用運(yùn)算符時(shí),需注意以下幾點(diǎn):算術(shù)運(yùn)算符在Python2中會(huì)向下取整,但是在Python3中會(huì)有小數(shù),如果需要向下取整,應(yīng)使用運(yùn)算符//。賦值運(yùn)算符和算術(shù)運(yùn)算符組合成復(fù)合賦值運(yùn)算符,可以在一個(gè)表達(dá)式中同時(shí)完成計(jì)算和賦值操作。比較運(yùn)算符中的等于是用運(yùn)算符==,需要區(qū)別于賦值運(yùn)算符=,以免出現(xiàn)語(yǔ)法錯(cuò)誤。邏輯運(yùn)算符not只有在3種情況下返回值為T(mén)rue,例如notx,如果x是0、None、空字符串時(shí)返回True,否則返回False。成員運(yùn)算符in和notin用于判斷某個(gè)元素是否存在與某個(gè)變量中,返回布爾值。身份運(yùn)算符比較的是對(duì)象的身份(即內(nèi)存地址),而不是它們的值。這與比較運(yùn)算符==和!=不同,后者比較的是對(duì)象的值。位運(yùn)算符是把數(shù)字看作二進(jìn)制來(lái)按位進(jìn)行計(jì)算的,在按位右移時(shí)注意零填充或符號(hào)位填充。表達(dá)式在運(yùn)算時(shí)嚴(yán)格按照運(yùn)算符優(yōu)先級(jí)順序進(jìn)行計(jì)算,在復(fù)雜的表達(dá)式中,優(yōu)先使用()來(lái)指定運(yùn)算順序。項(xiàng)目3流程控制語(yǔ)句應(yīng)用理解Python程序控制執(zhí)行流程01掌握Python中if、if-else、if-elif-else語(yǔ)句的語(yǔ)法格式02掌握Python中if嵌套語(yǔ)句的語(yǔ)法格式03知識(shí)目標(biāo)掌握Python中while循環(huán)語(yǔ)句的語(yǔ)法格式04掌握Python中for循環(huán)語(yǔ)句的語(yǔ)法格式05掌握Python中循環(huán)嵌套語(yǔ)句的語(yǔ)法格式06掌握Python中break和continue跳轉(zhuǎn)語(yǔ)句的語(yǔ)法格式07能夠熟練使用選擇結(jié)構(gòu)語(yǔ)句01能夠熟練使用嵌套選擇結(jié)構(gòu)語(yǔ)句02能夠熟練使用循環(huán)結(jié)構(gòu)語(yǔ)句03能力目標(biāo)能夠熟練使用循環(huán)控制語(yǔ)句04能夠熟練使用循環(huán)嵌套語(yǔ)句05目錄快遞計(jì)費(fèi)任務(wù)1用戶(hù)登錄檢測(cè)任務(wù)2數(shù)據(jù)加密任務(wù)3猜價(jià)格贏折扣任務(wù)4任務(wù)提出01任務(wù)分析02知識(shí)準(zhǔn)備03任務(wù)1快遞計(jì)費(fèi)任務(wù)實(shí)現(xiàn)04任務(wù)總結(jié)05任務(wù)1打印樹(shù)形圖案任務(wù)提出Part.01任務(wù)提出編寫(xiě)程序,計(jì)算快遞費(fèi)用。某快遞公司的快遞費(fèi)用計(jì)算方式如下:首重3公斤,未超過(guò)3公斤:同城10元,省內(nèi)地區(qū)12元,省外地區(qū)15元;超過(guò)三公斤,每公斤加價(jià),同城加價(jià)2元/公斤,省內(nèi)地區(qū)3元/公斤,省外地區(qū)5元/公斤。任務(wù)分析Part.02任務(wù)分析1.創(chuàng)建Python程序postmail.py。2.提示用戶(hù)輸入快遞的重量,提醒用戶(hù)重量的單位是公斤,并轉(zhuǎn)換為數(shù)字類(lèi)型。3.提示用戶(hù)輸入快遞郵寄的目的地編碼,這里使用0表示同城、1表示省內(nèi)、2表示省外。4.根據(jù)用戶(hù)的輸入,按照計(jì)費(fèi)規(guī)則計(jì)算快遞費(fèi)用,輸出計(jì)算結(jié)果。5.運(yùn)行測(cè)試程序,檢驗(yàn)快遞費(fèi)用計(jì)算結(jié)果是否正確。本任務(wù)需要根據(jù)目的地區(qū)域和重量?jī)蓚€(gè)不同條件,使用不同的規(guī)則來(lái)計(jì)算快遞費(fèi)用,因此需要使用分支結(jié)構(gòu),并通過(guò)if語(yǔ)句實(shí)現(xiàn)。具體的任務(wù)實(shí)施分析如下:知識(shí)準(zhǔn)備Part.03程序流程結(jié)構(gòu)01if語(yǔ)句02if嵌套語(yǔ)句03知識(shí)準(zhǔn)備3.1程序流程結(jié)構(gòu)程序流程結(jié)構(gòu)通常,程序流程控制分為3種:順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)。

選擇結(jié)構(gòu)是需要根據(jù)不同條件進(jìn)行判斷,然后執(zhí)行不同的操作。python提供了單分支(if語(yǔ)句),雙分支(if-else語(yǔ)句)和多分支(if-elif-else語(yǔ)句)3種形式的選擇結(jié)構(gòu)。程序流程結(jié)構(gòu)例3.1計(jì)算兩個(gè)整數(shù)的和,示例代碼如下:程序運(yùn)行結(jié)果單分支if語(yǔ)句01雙分支if-else語(yǔ)句02多分支if-elif-else語(yǔ)句033.2if語(yǔ)句單分支if語(yǔ)句單分支是最簡(jiǎn)單的選擇結(jié)構(gòu),其邏輯上是先判斷條件,條件為真則執(zhí)行語(yǔ)句塊。if條件表達(dá)式:語(yǔ)句塊

if語(yǔ)句由關(guān)鍵字if、判斷條件和冒號(hào)組成,if語(yǔ)句和從屬于該語(yǔ)句的代碼段可組成選擇結(jié)構(gòu)。單分支if語(yǔ)句單分支if語(yǔ)句的執(zhí)行流程如右圖:注意:在Python中,當(dāng)表達(dá)式的值為非零的數(shù)或者非空的字符串時(shí),if語(yǔ)句也認(rèn)為是條件成立(即為真值)。使用if語(yǔ)句時(shí),如果只有一條語(yǔ)句,那么語(yǔ)句塊可以直接寫(xiě)到冒號(hào)“:”的右側(cè)。但為了代碼可讀性不建議這么做。true條件表達(dá)式語(yǔ)句塊falseif語(yǔ)句的執(zhí)行流程首先判斷條件表達(dá)式,如果條件為真(true),則執(zhí)行if語(yǔ)句之后的語(yǔ)句塊;如果條件為假(false),則執(zhí)行if語(yǔ)句后面的語(yǔ)句。單分支if語(yǔ)句例3.2判斷給定整數(shù)是否為偶數(shù),示例代碼如下::程序運(yùn)行結(jié)果在程序開(kāi)發(fā)中,不僅需要處理滿(mǎn)足條件的情況,也需要對(duì)不滿(mǎn)足條件的情況做特殊處理。因此,Python提供了可以同時(shí)處理滿(mǎn)足和不滿(mǎn)足條件的if-else語(yǔ)句。if條件表達(dá)式:語(yǔ)句塊1else:語(yǔ)句塊2雙分支if-else語(yǔ)句if-else語(yǔ)法格式如下:雙分支if-else語(yǔ)句雙分支if-else語(yǔ)句的執(zhí)行流程如下圖:if-else語(yǔ)句的執(zhí)行流程注意:在使用else語(yǔ)句時(shí),else一定不可以單獨(dú)使用,它必須和保留字if一起搭配使用。使用縮進(jìn)來(lái)劃分語(yǔ)句塊,相同縮進(jìn)數(shù)的語(yǔ)句在一起組成一個(gè)語(yǔ)句塊。條件表達(dá)式語(yǔ)句塊2語(yǔ)句塊1truefalse雙分支if-else語(yǔ)句例:判斷給定整數(shù)是偶數(shù)還是奇數(shù),示例代碼如下::程序運(yùn)行結(jié)果多分支結(jié)構(gòu)在開(kāi)發(fā)程序時(shí)遇到多選一的情況,則可以使用if-elif-else語(yǔ)句。多分支語(yǔ)句執(zhí)行流程多分支if-elif語(yǔ)句的語(yǔ)法格式如下:if判斷條件1:語(yǔ)句塊1elif判斷條件2:語(yǔ)句塊2elif判斷條件3:語(yǔ)句塊3...else:語(yǔ)句塊n多分支if-elif語(yǔ)句的執(zhí)行流程如下圖:if-elif-else語(yǔ)句的執(zhí)行流程說(shuō)明:關(guān)鍵字elif是elseif的縮寫(xiě);最后一個(gè)語(yǔ)句塊n前無(wú)須再判斷條件。多分支語(yǔ)句執(zhí)行流程多分支語(yǔ)句例:根據(jù)小明的考試成績(jī)顯示獲得的獎(jiǎng)勵(lì),規(guī)則是:如果成績(jī)小于60分,什么都不買(mǎi);成績(jī)大于等于60分且小于90分,媽媽給他買(mǎi)本參考書(shū);成績(jī)大于等于90分且小于100分

,媽媽給他買(mǎi)一部MP4;成績(jī)等于100分,爸爸給他買(mǎi)輛自行車(chē)。

示例代碼如下:程序運(yùn)行結(jié)果3.3if嵌套語(yǔ)句嵌套01If嵌套02嵌套嵌套:在基礎(chǔ)條件滿(mǎn)足的情況下,再在基礎(chǔ)條件底下增加額外的條件判斷。

假設(shè)機(jī)票原價(jià)是2000,根據(jù)用戶(hù)輸入的出行季節(jié)以及選擇的是頭等艙還是經(jīng)濟(jì)艙,折扣不同,5~10月為旺季,頭等艙打9折,經(jīng)濟(jì)艙打7.5折,其他時(shí)間為淡季,頭等艙打6折,經(jīng)濟(jì)艙打3折。訂票過(guò)程:有兩次判斷:一是對(duì)出行季節(jié)的判斷,一是對(duì)選擇艙位的判斷。需要用到嵌套if結(jié)構(gòu),即if語(yǔ)句的嵌套是指在if語(yǔ)句中又包含一個(gè)或多個(gè)if語(yǔ)句。if嵌套語(yǔ)句python中通過(guò)if嵌套,實(shí)現(xiàn)程序中條件語(yǔ)句的嵌套邏輯。if判斷條件1:#外層條件語(yǔ)句塊1if判斷條件2:#內(nèi)層條件語(yǔ)句塊2...python

中,if、if-else和if-elif-else之間可以相互嵌套。在開(kāi)發(fā)程序時(shí),需要根據(jù)場(chǎng)景需要,選擇合適的嵌套方案。if嵌套語(yǔ)句嵌套if語(yǔ)句可以形成各種嵌套分支形式,下面是幾種常用的形式:if表達(dá)式1:

if表示式2:

語(yǔ)句塊1

else:

語(yǔ)句塊2形式一:在if語(yǔ)句中嵌套ifelse語(yǔ)句,形式如下:if表達(dá)式1:

if表示式2:

語(yǔ)句塊1else:

語(yǔ)句塊2形式二:在if-else語(yǔ)句的else中嵌套ifelse語(yǔ)句,形式如下:if嵌套語(yǔ)句嵌套if語(yǔ)句可以形成各種嵌套分支形式,下面是幾種常用的形式:形式三:在ifelse語(yǔ)句中嵌套ifelse語(yǔ)句,形式如下:注意:if嵌套語(yǔ)句,在相互嵌套時(shí),一定要嚴(yán)格遵守不同級(jí)別語(yǔ)句塊縮進(jìn)規(guī)范。if表示式1:

if表達(dá)式2:

語(yǔ)句塊1

else:

語(yǔ)句塊2

else:

if表達(dá)式3:

語(yǔ)句塊3

else:

語(yǔ)句塊4嵌套if語(yǔ)句的執(zhí)行流程:if嵌套的執(zhí)行流程if嵌套語(yǔ)句表達(dá)式1False表達(dá)式2語(yǔ)句塊2語(yǔ)句塊1TrueFalseif表達(dá)式1:

if表示式2:

語(yǔ)句塊1

else:

語(yǔ)句塊2形式一:在if語(yǔ)句中嵌套ifelse語(yǔ)句,形式如下:if嵌套語(yǔ)句例:計(jì)算如圖3.6所示的分段函數(shù)結(jié)果,示例代碼如下:程序運(yùn)行結(jié)果任務(wù)實(shí)現(xiàn)Part.04任務(wù)實(shí)現(xiàn)分析代碼01編寫(xiě)代碼02分析代碼通過(guò)分析任務(wù)要求可知,快遞公司計(jì)算快遞費(fèi)用有兩個(gè)依據(jù):重量和目的地,在計(jì)算過(guò)程中需要按如下流程進(jìn)行:1)獲取用戶(hù)輸入的重量和目的地。重量需要轉(zhuǎn)換成數(shù)字類(lèi)型,目的地則用0表示同城、1表示省內(nèi)、2表示省外。2)判斷快遞的重量,如果超過(guò)3公斤,進(jìn)一步判斷目的地,根據(jù)目的地的不同,先計(jì)算首重費(fèi)用,再加上超出部分的費(fèi)用,得出應(yīng)付的快遞費(fèi)用。3)如果快遞的重量未超過(guò)3公斤,則繼續(xù)判斷目的地,根據(jù)目的地的不同,直接按首重收費(fèi)標(biāo)準(zhǔn),得出應(yīng)付的快遞費(fèi)用。在計(jì)算快遞費(fèi)用的過(guò)程中,因涉及到重量和目的地兩個(gè)條件的雙重判斷,需要使用if嵌套語(yǔ)句。編寫(xiě)代碼1)啟動(dòng)PyCharm,選擇菜單File→NewProject,指定項(xiàng)目位置為D:\chapter03。2)右擊項(xiàng)目文件夾chapter03,在彈出的快捷菜單中選擇New→PythonFile,在彈出的新建Python文件對(duì)話(huà)框中輸入文件名postmail,類(lèi)別為Pythonfile。編寫(xiě)代碼3)在postmail.py文件的代碼編輯窗口,輸入如下代碼:輸入物品重量和目的地if嵌套計(jì)算費(fèi)用并輸出編寫(xiě)代碼程序運(yùn)行結(jié)果任務(wù)總結(jié)Part.05通過(guò)本任務(wù)的學(xué)習(xí),掌握了Python中選擇結(jié)構(gòu)的用法,選擇結(jié)構(gòu)可以使用if語(yǔ)句、if-elif語(yǔ)句、if-elif-else語(yǔ)句及if嵌套語(yǔ)句來(lái)實(shí)現(xiàn)。在使用if語(yǔ)句時(shí)需要注意以下幾點(diǎn):條件表達(dá)式返回的值是布爾類(lèi)型的值,即True(非0)和False(0或者空類(lèi)型)。在條件表達(dá)式中也可以使用and、or、not、括號(hào)等進(jìn)行條件的耦合判斷。在多層級(jí)的if語(yǔ)句中,需要嚴(yán)格控制好不同級(jí)別代碼塊的縮進(jìn)量。if語(yǔ)句、else語(yǔ)句及elif語(yǔ)句的末尾需要加上英文半角的冒號(hào)。else語(yǔ)句和elif語(yǔ)句都不能單獨(dú)使用,必須和if語(yǔ)句一起配合使用。任務(wù)提出01任務(wù)分析02知識(shí)準(zhǔn)備03任務(wù)2用戶(hù)登錄檢測(cè)任務(wù)實(shí)現(xiàn)04任務(wù)總結(jié)05任務(wù)1打印樹(shù)形圖案任務(wù)提出Part.01任務(wù)提出編寫(xiě)程序,根據(jù)用戶(hù)輸入的用戶(hù)名和密碼,判斷用戶(hù)名和密碼是否正確。允許用戶(hù)登錄僅有三次機(jī)會(huì),如果超過(guò)三次,禁止登錄。任務(wù)分析Part.02任務(wù)分析1.創(chuàng)建Python程序login.py。2.使用循環(huán)語(yǔ)句控制程序執(zhí)行流程。3.在循環(huán)語(yǔ)句中,提示用戶(hù)輸入用戶(hù)名和密碼,并記錄當(dāng)前輸入的次數(shù),判斷用戶(hù)輸入的用戶(hù)名和密碼是否正確,如果不正確,則循環(huán)提示用戶(hù)輸入用戶(hù)名和密碼,并累加輸入的次數(shù)。4.根據(jù)用戶(hù)的輸入檢測(cè)結(jié)果,給出相應(yīng)的提示信息。5.運(yùn)行測(cè)試程序,檢驗(yàn)代碼執(zhí)行流程是否正確、功能是否實(shí)現(xiàn)。本任務(wù)主要實(shí)現(xiàn)的是對(duì)用戶(hù)名和密碼的正確性進(jìn)行檢測(cè),用戶(hù)有三次輸入的機(jī)會(huì),因此需要通過(guò)循環(huán)語(yǔ)句實(shí)現(xiàn)。具體的任務(wù)實(shí)施分析如下:while語(yǔ)句01while-else語(yǔ)句02知識(shí)準(zhǔn)備3.4while語(yǔ)句循環(huán)概念循環(huán)控制:是重復(fù)執(zhí)行某段程序,直到某個(gè)條件不滿(mǎn)足為止的一種程序結(jié)構(gòu)。循環(huán)結(jié)構(gòu)是一種常用的,重要的程序結(jié)構(gòu)。特點(diǎn):在給定條件成立時(shí),反復(fù)執(zhí)行某程序段,直到條件不成立時(shí)為止。給定的條件稱(chēng)為循環(huán)條件,重復(fù)執(zhí)行的程序段稱(chēng)為循環(huán)體,能夠決定控制是真是假的量稱(chēng)為循環(huán)控制變量。Python常用的循環(huán)包括while循環(huán)和for循環(huán)。while循環(huán)語(yǔ)句while循環(huán)語(yǔ)句一般用于實(shí)現(xiàn)條件循環(huán),該語(yǔ)句由關(guān)鍵字while、循環(huán)條件和冒號(hào)組成,while語(yǔ)句和從屬于該語(yǔ)句的語(yǔ)句塊組成循環(huán)結(jié)構(gòu)。while條件表達(dá)式:

語(yǔ)句塊while循環(huán)的執(zhí)行流程:while循環(huán)的執(zhí)行流程首先判斷條件表達(dá)式的值,其值為真(True)時(shí),則執(zhí)行循環(huán)體中的語(yǔ)句塊,當(dāng)執(zhí)行完畢后,再重新判斷條件表達(dá)式的值是否為真,若仍為真,則繼續(xù)重新執(zhí)行循環(huán)體...如此循環(huán),直到條件表達(dá)式的值為假(False),終止循環(huán)。while循環(huán)語(yǔ)句語(yǔ)句塊while循環(huán)語(yǔ)句例:運(yùn)用while語(yǔ)句計(jì)算1+2+3+...+100的和,示例代碼如下:程序運(yùn)行結(jié)果3.5while-else語(yǔ)句在Python中,while語(yǔ)句中使用else語(yǔ)句,當(dāng)條件表達(dá)式為T(mén)rue時(shí),執(zhí)行語(yǔ)句塊1;為False時(shí)則執(zhí)行語(yǔ)句塊2,其語(yǔ)法格式如下:while條件表達(dá)式:

語(yǔ)句塊1#滿(mǎn)足條件執(zhí)行代碼塊1else:

語(yǔ)句塊2#不滿(mǎn)足條件執(zhí)行代碼塊2while-else語(yǔ)句while-else語(yǔ)句例:輸入變量x的值,循環(huán)輸出x的值,并判斷x的大小。示例代碼如下:程序運(yùn)行結(jié)果任務(wù)實(shí)現(xiàn)分析代碼01編寫(xiě)代碼02分析代碼通過(guò)分析任務(wù)要求可知,用戶(hù)登錄系統(tǒng)可以輸入三次賬號(hào)密碼,考慮使用while循環(huán)語(yǔ)句來(lái)控制用戶(hù)輸入的次數(shù)不得超過(guò)3次。定義user、pwd、n三個(gè)變量分別用于保存用戶(hù)名、密碼、登錄次數(shù),初始值分別為空字符串、空字符串、1。在循環(huán)體語(yǔ)句中,按照如下步驟執(zhí)行:分析代碼在循環(huán)體語(yǔ)句中,按照如下步驟執(zhí)行:1)提示用戶(hù)當(dāng)前是第幾次登錄系統(tǒng)。2)使用input語(yǔ)句分別獲取用戶(hù)輸入的用戶(hù)名和密碼,并分別保存在變量user、pwd中。3)使用if-else語(yǔ)句判斷用戶(hù)輸入的用戶(hù)名和密碼是否正確,如果正確則給出歡迎信息,并結(jié)束循環(huán),如果輸入的用戶(hù)名和密碼錯(cuò)誤,則給出錯(cuò)誤提示信息。4)每登錄一次,將n值累加1。如果登錄次數(shù)n超過(guò)3,循環(huán)則進(jìn)入else分支,給出禁止登錄的編寫(xiě)代碼1)啟動(dòng)PyCharm,選擇菜單File→NewProject,指定項(xiàng)目位置為D:\chapter03。2)右擊項(xiàng)目文件夾chapter03,在彈出的快捷菜單中選擇New→PythonFile,在彈出的新建Python文件對(duì)話(huà)框中輸入文件名login,類(lèi)別為Pythonfile。編寫(xiě)代碼3)在login.py文件的代碼編輯窗口,輸入如下代碼:輸入用戶(hù)名和密碼編寫(xiě)代碼數(shù)據(jù)處理并輸出——循環(huán)判斷用戶(hù)名和密碼,并根據(jù)情況輸出結(jié)果。任務(wù)總結(jié)Part.05while循環(huán)必須有一個(gè)明確的條件來(lái)終止循環(huán),否則它將無(wú)限循環(huán)下去。在設(shè)計(jì)循環(huán)時(shí),需確保在某種情況下條件表達(dá)式最終會(huì)變?yōu)镕alse,從而結(jié)束循環(huán)。通過(guò)本任務(wù)的學(xué)習(xí),理解了Python中循環(huán)結(jié)構(gòu)的執(zhí)行流程

,并掌握了while語(yǔ)句和while-else語(yǔ)句的基本用法。在使用while循環(huán)時(shí)需注意以下幾點(diǎn):在循環(huán)內(nèi)部定義只在循環(huán)內(nèi)部使用的變量時(shí),要注意避免在每次循環(huán)時(shí)都重新創(chuàng)建它們,這會(huì)浪費(fèi)大量的內(nèi)存和計(jì)算資源。如果變量需要在循環(huán)外部訪(fǎng)問(wèn),則應(yīng)在循環(huán)外部定義。while循環(huán)用于重復(fù)執(zhí)行一段代碼塊,直到滿(mǎn)足特定的條件為止;而while-else允許在while循環(huán)正常結(jié)束(被break語(yǔ)句強(qiáng)制退出除外)后執(zhí)行一段額外的代碼。任務(wù)提出0

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論