Python程序設(shè)計基礎(chǔ) 課件 王朝暉 項目1-4 編寫簡單輸出語句-編寫基于序列結(jié)構(gòu)的學(xué)生信息管理系統(tǒng)_第1頁
Python程序設(shè)計基礎(chǔ) 課件 王朝暉 項目1-4 編寫簡單輸出語句-編寫基于序列結(jié)構(gòu)的學(xué)生信息管理系統(tǒng)_第2頁
Python程序設(shè)計基礎(chǔ) 課件 王朝暉 項目1-4 編寫簡單輸出語句-編寫基于序列結(jié)構(gòu)的學(xué)生信息管理系統(tǒng)_第3頁
Python程序設(shè)計基礎(chǔ) 課件 王朝暉 項目1-4 編寫簡單輸出語句-編寫基于序列結(jié)構(gòu)的學(xué)生信息管理系統(tǒng)_第4頁
Python程序設(shè)計基礎(chǔ) 課件 王朝暉 項目1-4 編寫簡單輸出語句-編寫基于序列結(jié)構(gòu)的學(xué)生信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩243頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Python程序設(shè)計

項目1編寫簡單輸出語句1.1學(xué)習(xí)目標(biāo)學(xué)習(xí)基礎(chǔ)知識:Python發(fā)展歷程Python特點Python應(yīng)用領(lǐng)域搭建Python開發(fā)環(huán)境Python基本編程規(guī)范通過編寫輸出“歡迎使用學(xué)生信息管理系統(tǒng)”具體項目掌握Python簡單程序的建立和運行1.2基礎(chǔ)知識1.2.1Python發(fā)展歷程Python是一門面向?qū)ο蟮慕忉屝途幊陶Z言,適合于初學(xué)者的編程語言,由荷蘭人吉多·范羅蘇姆(GuidovanRossum)發(fā)明。1991年,Python的第一個解釋器誕生。1994年1月,Python1.0版本發(fā)布。2000年10月,Python2.0版本發(fā)布。2008年12月,Python3.0版本發(fā)布。值得一提的是,Python3.x不向后兼容Python2.x,這意味著Python3.x可能無法運行Python2.x的代碼。2014年11月,Python2.7被確定為最后一個Python2.x版本。2020年1月1日,官方宣布停止Python2的更新。2021年10月,Python首次登頂TIOBE編程語言排行榜1.2.1Python發(fā)展歷程Python對初級程序員而言,是一種偉大的語言,它支持廣泛的應(yīng)用程序開發(fā),從簡單的文字處理到WWW瀏覽器再到游戲。Python還被稱為膠水語言,它能夠把用其它語言制作的模塊聯(lián)結(jié)在一起?,F(xiàn)在,Python的社區(qū)蓬勃發(fā)展,Python變得更為成熟,當(dāng)你提出一個有關(guān)的Python問題,幾乎總是有人遇到了同樣的問題并已經(jīng)得到了解決。1.2.2Python特點1.易于學(xué)習(xí)2.免費、開源3.互動模式4.類庫豐富5.面向?qū)ο?.解釋性7.可移植8.可擴展9.可嵌入1.2.3Python應(yīng)用領(lǐng)域1.系統(tǒng)編程2.科學(xué)計算和統(tǒng)計3.數(shù)據(jù)庫編程4.Web開發(fā)應(yīng)用5.人工智能6.自動化運維7.多媒體應(yīng)用1.2.4進入Python世界1.搭建Python開發(fā)環(huán)境編寫程序,就需要有相應(yīng)的編程環(huán)境。下面我們學(xué)習(xí)在Windows操作系統(tǒng)下,搭建Python開發(fā)環(huán)境。在Windows系統(tǒng)中安裝Python,可以直接訪問Python官方網(wǎng)站,通過/downloads/進行下載,下載時要查看電腦Windows操作系統(tǒng)的類型(32位或64位操作系統(tǒng)),注意選擇下載與系統(tǒng)匹配的版本,如圖所示。1.2.4進入Python世界目前Python官網(wǎng)支持的主要版本是Python3.X,本書案例均以Python3.11.7為開發(fā)環(huán)境。Python的安裝可以選擇默認(rèn)方式,并勾選“AddPython.exetoPATH”選項,以便將安裝路徑添加到系統(tǒng)環(huán)境變量Path中,否則在運行時,需要手動配置環(huán)境變量。安裝成功后,可以打開Windows命令提示符(cmd)窗口,執(zhí)行“python”命令。出現(xiàn)下圖所示結(jié)果,即表示Python安裝成功。1.2.4進入Python世界開發(fā)環(huán)境搭建完成之后,可利用Python自帶的IDLE進行程序設(shè)計,本書示例均使用了IDLE作為開發(fā)環(huán)境。下圖為Python3.11菜單。IDLE提供了交互式編程模式和編寫.py程序編程模式。使用交互式編程模式時,直接在IDLE提示符>>>后面輸入Python命令并按回車鍵即可執(zhí)行。程序如果執(zhí)行成功,則顯示執(zhí)行結(jié)果,否則拋出異常。編寫.py程序編程模式,是將Python命令編寫存放在一個.py文件,再通過命令運行,結(jié)果顯示在IDLE交互式解釋器窗口。1.2.4進入Python世界2.Python基本編程規(guī)范

(1)縮進在Python編程過程中,程序代碼必須是從每行的第一列開始編寫,遇到結(jié)構(gòu)語句時則需要采用縮格方式編寫。Python語言特別強調(diào)依靠代碼塊的縮進來體現(xiàn)代碼之間的邏輯關(guān)系,同一級別代碼縮進量應(yīng)保持一致。默認(rèn)設(shè)置了使用4個空格進行縮進。(不建議Tab制表符)1.2.4進入Python世界2.Python基本編程規(guī)范(2)注釋給程序添加注釋語句是為了方便程序開發(fā)人員進行閱讀,增加程序的可讀性。在程序關(guān)鍵部位添加注釋是一種良好的編程習(xí)慣。Python允許有多種注釋方式,常用的有單行注釋和多行注釋兩種。單行注釋用“#”開始,以換行符結(jié)束。該注釋可以單獨占一行,也可以出現(xiàn)在一行中程序代碼的右側(cè)。多行注釋以三個引號(單引號'''或雙引號""")開始,同樣以三個相對應(yīng)的引號結(jié)束。多行注釋需要成對出現(xiàn)。1.2.4進入Python世界2.Python基本編程規(guī)范(3)換行建議每條Python語句獨占一行。Python建議每行代碼的長度不要超過80個字符。對于過長的代碼,建議進行換行。換行可以借助“\”放在首行的尾部來表示緊接著的下一行與當(dāng)前行屬同一語句,也可以利用圓括號將多行內(nèi)容包含在一起。1.2.4進入Python世界3.輸出語句在Python中使用print()函數(shù)進行輸出。輸出字符串時可以用單引號或雙引號。如:

1.2.4進入Python世界4.輸入語句Python中,使用內(nèi)置函數(shù)input()來接收用戶的鍵盤輸入。一般用法為:

注意,無論用戶從鍵盤輸入什么內(nèi)容,input()函數(shù)返回結(jié)果都是字符串,根據(jù)需要,可以將其進行類型轉(zhuǎn)換。1.2.5Python常用開發(fā)工具PyCharmPyCharm就是其中一款功能強大的Python編輯器,可以跨平臺使用。PyCharm包括專業(yè)版(professional)和社區(qū)版(community),其中社區(qū)版是免費的,而專業(yè)版需要付費。1.2.5Python常用開發(fā)工具PyCharm1.下載安裝包打開PyCharm官網(wǎng),找到地址(https://www.jetbrains.com/pycharm/download/#section=windows),選擇community版本,點擊下載。如圖所示。1.2.5Python常用開發(fā)工具PyCharm2.安裝PyCharm雙擊已經(jīng)下載的PyCharm安裝包,出現(xiàn)如圖所示的界面,點擊“Next”。1.2.5Python常用開發(fā)工具PyCharm選擇安裝目錄,可以選擇使用默認(rèn)安裝路徑,也可以將其安裝在D盤或者其它盤如圖所示。1.2.5Python常用開發(fā)工具PyCharm點擊Next,進入下圖界面。1.2.5Python常用開發(fā)工具PyCharm點擊Next,進入安裝過程,安裝完成后如圖所示,點擊“Finish”結(jié)束安裝。1.2.5Python常用開發(fā)工具PyCharm3.運行PyCharm雙擊桌面上的快捷方式,在彈出的PyCharm配置對話框如圖中,選擇“Donotimportsettings”選項,不導(dǎo)入開發(fā)環(huán)境配置,單擊“OK”按鈕。1.2.5Python常用開發(fā)工具PyCharm打開后會彈出如圖所示窗口。1.2.5Python常用開發(fā)工具PyCharm創(chuàng)建新項目,可以單擊“NewProject”,可以打開如下左圖窗口,設(shè)置好項目存放路徑(本例是新建項目StuManger,存放在D盤phexec文件夾中),單擊“Create”按鈕。創(chuàng)建新項目如下右圖所示。1.2.5Python常用開發(fā)工具PyCharm新建Python文件,可以在StuManger項目窗口,右擊項目名“StuManger”,在彈出的快捷菜單中選擇“New”→

“PythonFile”命令,再輸入文件名。如下圖所示。1.2.5Python常用開發(fā)工具PyCharm輸入hello,系統(tǒng)會默認(rèn)生成hello.py,并打開腳本文件。此時可以編寫Python程序,點擊菜單Run中的Run...,單擊hello,即可通過運行獲得結(jié)果??蓞⒖既鐖D所示。1.3典型工作項目本階段利用Python的IDLE開發(fā)環(huán)境,編寫程序輸出“歡迎使用學(xué)生成績管理系統(tǒng)”。通過測試后,提交該程序。

1.3.1需求分析通過輸出語句,輸出“歡迎使用學(xué)生成績管理系統(tǒng)”。為了方便標(biāo)識和閱讀程序,可以在程序中標(biāo)記程序名稱及開發(fā)者信息。

1.3.2程序設(shè)計通過需求分析可以知道,程序包括以下步驟:標(biāo)記程序名稱(注釋語句)標(biāo)記程序功能(注釋語句)標(biāo)記開發(fā)者信息(注釋語句)輸出“歡迎使用學(xué)生成績管理系統(tǒng)”1.編程規(guī)范

按照Python的編程規(guī)范來編寫代碼,注意命令符號等都使用英文字符。2.參考代碼1.3.3程序編碼1.3.4程序測試和交付選擇“Run”菜單中的“RunModule”,或者直接按功能鍵F5運行程序,結(jié)果如下。通過測試,運行結(jié)果如圖1-2所示。該程序符合要求,可以交付使用。將程序文件進行保存,文件名取名為hello,最后提交hello.py文件到指定位置。感謝您的觀看Python程序設(shè)計

項目2編寫成績計算程序2.1學(xué)習(xí)目標(biāo)學(xué)習(xí)基礎(chǔ)知識:常量變量數(shù)據(jù)類型運算符格式化輸出通過具體項目掌握Python成績計算程序的編寫和運行,掌握Python程序中的常量、變量、運算符、表達(dá)式和順序結(jié)構(gòu)程序設(shè)計。2.2基礎(chǔ)知識2.2.1變量與數(shù)據(jù)類型1.常量和變量在程序設(shè)計中,經(jīng)常會遇到一些不會變化的數(shù),如一般成績滿分用100表示,如計算圓的周長或面積時用到的π,常用3.14159來表示等。這些不會變化的,可以稱之為常量。還經(jīng)常會碰到一些數(shù)據(jù),每次使用時可能會發(fā)生變化,可以稱之為變量,用變量名(標(biāo)識符)來表示,注意變量在程序設(shè)計中表示的是存儲單元,變量的值可以在程序執(zhí)行期間改變,變量名(標(biāo)識符)則是指向該存儲單元的標(biāo)簽。2.2.1變量與數(shù)據(jù)類型變量名(標(biāo)識符)的命名要遵循編程語言的規(guī)則。在Python中,變量名(標(biāo)識符)命名需要遵循以下規(guī)則:變量名(標(biāo)識符)由字母、數(shù)字、下劃線組合而成,首字符不能為數(shù)字變量名(標(biāo)識符)區(qū)分大小寫。變量名(標(biāo)識符)不能是Python關(guān)鍵字,但可以包含關(guān)鍵字。變量名(標(biāo)識符)的命名建議是見名知義,且不宜太長。特別值得一提的是,組成變量名(標(biāo)識符)的字母不僅可以是英文,也可以是中文等多種語言字符。2.2.1變量與數(shù)據(jù)類型變量在第一次賦值時將會被創(chuàng)建,即占用一塊存儲空間,以存放所賦的值,再次出現(xiàn)時,表示其被使用。Python中變量賦值不需要先聲明數(shù)據(jù)類型,變量的賦值操作就是變量的聲明和定義的過程。每個變量在使用前都必須賦值,賦值用“=”運算符表示,賦值操作將會確定變量的數(shù)據(jù)類型。2.2.1變量與數(shù)據(jù)類型2.關(guān)鍵字各程序設(shè)計語言均保留了一些特定的字符組合,并賦予其特定的含義,這些字符組合稱之為關(guān)鍵字,有時也稱之為保留字。開發(fā)者在程序開發(fā)時,不能使用這些關(guān)鍵字作為變量名或其它對象的命名。Python包含的保留字可以在Python交互模式下執(zhí)行如下命令,得到所有關(guān)鍵字。>>>importkeyword>>>keyword.kwlist結(jié)果如圖所示。2.2.1變量與數(shù)據(jù)類型3.數(shù)據(jù)類型為了更可靠、更高效地處理數(shù)據(jù),Python程序開發(fā)中出現(xiàn)的數(shù)據(jù)是有特征的。根據(jù)特征,Python將數(shù)據(jù)分為數(shù)字類型、布爾類型、字符串類型、列表類型、字典類型、元組類型和集合類型等數(shù)據(jù)類型。其中,數(shù)字類型包括整型(int)、浮點型(float)、復(fù)數(shù)(complex)。2.2.1變量與數(shù)據(jù)類型3.數(shù)據(jù)類型

(1)數(shù)字整型數(shù)據(jù)表示與數(shù)學(xué)中的寫法一致,Python可以處理任意大小的整數(shù),其表示形式與數(shù)學(xué)中寫法一致。在Python中,可以用十進制、八進制和十六進制來表示常量。十進制整數(shù):前面沒有前綴,組成數(shù)字包括0-9。如123456,-389。二進制整數(shù):前面以0B或0b開始,組成數(shù)字包括0和1,如0B1001。八進制整數(shù):前面以0O或0o開頭,組成數(shù)字包括0-7,通常為無符號數(shù),如0o16。十六進制整數(shù):前面以0X或0x開頭,組成數(shù)字包括0-9、A-F或a-f,如0x7F。2.2.1變量與數(shù)據(jù)類型3.數(shù)據(jù)類型(1)數(shù)字浮點型數(shù)據(jù)由整數(shù)和小數(shù)組成,用于表示實數(shù)。Python只用十進制形式表示,有直接十進制形式和指數(shù)形式兩種。復(fù)數(shù)數(shù)據(jù)用于表示數(shù)學(xué)中的復(fù)數(shù),由實數(shù)部分和虛數(shù)部分組成,一般形式為a+bj,其中a為復(fù)數(shù)的實數(shù)部分,b為復(fù)數(shù)的虛數(shù)部分,如3+4j,2.5+6j,注意前面的a和b均是實數(shù)。2.2.1變量與數(shù)據(jù)類型3.數(shù)據(jù)類型(2)布爾類型布爾類型包括True和False兩個值,分別表示“真”和“假”。Python中,既可以直接使用True或False分別表示布爾值,也可以通過比較和判斷得到。如1<10的布爾值為True,1>10布爾值為False。2.2.1變量與數(shù)據(jù)類型3.數(shù)據(jù)類型(3)字符串字符串就是一串字符,通常用單、雙或三引號引起來。如果字符串中包含單引號,可以用雙引號引起來;反之,如果字符串中包括雙引號,則用單引號引起來。如果字符串中既有單引號又有雙引號,則可以采用轉(zhuǎn)義字符“\”進行標(biāo)識。如'This\'sPython'表示This'sPython。Python允許在單引號前加r,表示單引號內(nèi)部的字符串默認(rèn)不轉(zhuǎn)義。如print('\\\nabc')表示輸出'\',換行后再輸出abc,print(r'\\\nabc')則表示輸出的是\\\nabc。2.2.1變量與數(shù)據(jù)類型3.數(shù)據(jù)類型(3)字符串轉(zhuǎn)義字符是以“\”開頭,后面跟一個字符,常用于表示一些控制代碼和功能定義。Python中常用的轉(zhuǎn)義字符如表2-1所示。2.2.1變量與數(shù)據(jù)類型4.變量的賦值C和Java等程序設(shè)計語言屬于靜態(tài)類型語言,在編寫程序的時候就要聲明所有變量的數(shù)據(jù)類型,Python則是動態(tài)類型語言,即Python中的變量沒有數(shù)據(jù)類型的概念,一個變量可以存儲任何數(shù)據(jù)。變量在第一次賦值時創(chuàng)建,再次出現(xiàn)時,表示其被使用。Python中變量賦值不需要先聲明數(shù)據(jù)類型,變量的賦值操作就是變量的聲明和定義的過程。每個變量在使用前都必須賦值,賦值用“=”運算符表示。2.2.1變量與數(shù)據(jù)類型4.變量的賦值賦值運算符左側(cè)是變量的名稱,右邊是將要存儲在變量中的值。如:Python允許同時為多個變量賦值,如:Python還可以同時為多個變量賦不同的值。如:a=6.18b=7str1='China'a=b=c=9a,b,str1=6.18,7,'China'。2.2.2運算符5.運算符運算符是用于執(zhí)行各種運算的符號。這些運算符可以對變量或常量值進行操作,以產(chǎn)生新的值或結(jié)果。運算符用于執(zhí)行程序代碼運算,會針對一個以上操作數(shù)項目來進行運算。如:10+20,其操作數(shù)是10和20,而運算符則是“+”。Python支持大多數(shù)運算符,如算術(shù)運算符、賦值運算符、比較(關(guān)系)運算符、邏輯運算符、位運算符、成員運算符和身份運算符等,并遵循運算符優(yōu)先級。2.2.2運算符5.運算符(1)算術(shù)運算符運算符描

述示

例+加法運算,將運算符兩邊的操作數(shù)相加3+5值為8-減法運算,將運算符左邊的操作數(shù)減去右邊的操作數(shù)3-5值為-2*乘法運算,將運算符兩邊的操作數(shù)相乘3*5值為15/除法運算,將運算符左邊的操作數(shù)除以右邊的操作數(shù)3/5值為0.6%模運算,返回除法運算的余數(shù)3%5值為3**冪運算,返回乘方運算的值3**5值為243//整除,返回商的整數(shù)部分。如果其中一個操作數(shù)為負(fù)數(shù),則結(jié)果為負(fù)數(shù)3//5值為05//3值為1-3//5值為-12.2.2運算符5.運算符(2)賦值運算符(示例中m為4,n為5)運算符描

述示

例=基本賦值運算符m=n+3,將n+3的運算結(jié)果賦值給m,賦值后m為8+=加法賦值運算符m+=n,等效于m=m+n,賦值后m為9-=減法賦值運算符m-=n,等效于m=m–n,賦值后m為-1*=乘法賦值運算符m*=n,等效于m=m*n,賦值后m為20/=除法賦值運算符m/=n,等效于m=m/n,賦值后m為0.8**=冪賦值運算符m**=n,等效于m=m**n,賦值后m為1024//=取整除賦值運算符m//=n,等效于m=m//n,賦值后m為0%=取模(求余)賦值運算符m%=n,等效于m=m%n,賦值后m為42.2.2運算符5.運算符(4)邏輯運算符(示例中m為4,n為5)運算符描

述示

例and邏輯與,如果左側(cè)操作數(shù)的值為False,返回左側(cè)值,否則返回右側(cè)操作數(shù)的值mandn,返回5or邏輯或,如果左側(cè)操作數(shù)的值為True,返回左側(cè)值,否則返回右側(cè)操作數(shù)的值mandn,返回4not邏輯非,只有右側(cè)操作數(shù),如果操作數(shù)值為False,返回True;如果為True,返回Falsenotm,返回False2.2.2運算符5.運算符(3)比較運算符(示例中m為4,n為5)運算符描

述示

例==等于,比較兩側(cè)操作數(shù)是否相等,如果相等返回True,否則返回Falsem==n,m不等于n,返回False!=不等于,比較兩側(cè)操作數(shù)是否不相等,如果不相等返回True,否則返回Falsem!=n,m不等于n,返回True>

判斷左側(cè)操作數(shù)的值是否大于右側(cè)操作數(shù)的值,如果是返回True,否則返回Falsem>n,m大于n不成立,返回False<

判斷左側(cè)操作數(shù)的值是否小于右側(cè)操作數(shù)的值,如果是返回True,否則返回Falsem<n,m小于n成立,返回True>=判斷左側(cè)操作數(shù)的值是否大于等于右側(cè)操作數(shù)的值,如果是返回True,否則返回Falsem>=n,m小于等于n不成立,返回False<=判斷左側(cè)操作數(shù)的值是否小于等于右側(cè)操作數(shù)的值,如果是返回True,否則返回Falsem<n,m小于等于n成立,返回True2.2.2運算符5.運算符(5)成員運算符運算符描

述示

例in如果在指定的序列中找到了in左側(cè)的值,返回True,否則返回False"h"in"Python"返回Truenotin如果在指定的序列中沒有找到in左側(cè)的值,返回True,否則返回False"P"notin"Python"返回False2.2.2運算符5.運算符(6)身份運算符運算符描

述示

例is判斷兩個對象標(biāo)識符是不是引用同一個對象,是則返回True,否則返回False如果m=20;n=20,則misn返回Trueisnot判斷兩個對象標(biāo)識符是不是引用不同的對象,是則返回True,否則返回False如果m=10;n=20,則misnotn返回True2.2.2運算符5.運算符(7)位運算符運算符描

述示

例&兩個操作數(shù)只有對應(yīng)的兩個二進制位均為1時,結(jié)果才為1,否則為0m&n即00001100&00101010運算結(jié)果:00001000|兩個操作數(shù)只要對應(yīng)的兩個二進制位有一個為1時,結(jié)果就為1m&n即00001100|00101010運算結(jié)果:00101110^兩個操作數(shù)對應(yīng)的兩個二進制位不同時,結(jié)果為1,否則為0m&n即00001100^00101010運算結(jié)果:00100110~只有一個操作數(shù),對其每個二進制位取反~m即~00001100運算結(jié)果:11110011<<

左操作數(shù)的二進制位全部左移,由右操作數(shù)決定移動的位數(shù),移出位刪掉,移進的位補零m<<2即00001100按位左移2次運算結(jié)果:00110000>>

左操作數(shù)的二進制位全部右移,由右操作數(shù)決定移動的位數(shù),移出位刪掉,移進的位補零m>>2即00001100按位右移2次運算結(jié)果:000000112.2.2運算符5.運算符(8)運算符優(yōu)先級別運算符的優(yōu)先級別是指在一個表達(dá)式中,不同運算符之間的運算順序。優(yōu)先級高的運算符會先被計算,而優(yōu)先級低的運算符則會被后計算。如果多個運算符具有相同的優(yōu)先級,則它們的結(jié)合方向決定了運算的順序。優(yōu)先級順序運算符說

明1**指數(shù)運算(最高優(yōu)先級)2~+-按位取反、正號和負(fù)號運算符3*/%//乘、除、取模和取整除運算符4+-加法、減法運算符5>><<右移、左移位運算符6&按位與運算符7^|按位異或、按位或運算符8<=<>>=比較運算符9==!=等于、不等于運算符10=%=/=//=-=+=*=**=賦值運算符11isisnot身份運算符12innotin成員運算符13notorand邏輯運算符2.2.3格式化輸出在Python中,常用的格式化輸出包括使用符號“%”、format()函數(shù)和f-string格式化輸出。2.2.3格式化輸出1.%格式化輸出格式化輸出時,用%分隔格式字符串和輸出項,一般格式為:格式字符串%(輸出項1,輸出項2,……,輸出項n)格式字符串由普通字符和格式說明符組成,普通字符原樣輸出,格式說明符決定所對應(yīng)輸出項的輸出格式。格式說明符以%開始,后跟格式標(biāo)識符。如:print("Ilove%s!"%("China")輸出結(jié)果為:IloveChina!2.2.3格式化輸出1.%格式化輸出(格式說明符)符號描述%c

格式化字符及其ASCII碼%s

格式化字符串%d

格式化整數(shù)%u

格式化無符號整型%o

格式化無符號八進制數(shù)%x

格式化無符號十六進制數(shù)%X

格式化無符號十六進制數(shù)(大寫)%f

格式化浮點數(shù)字,可指定小數(shù)點后的精度%e

用科學(xué)計數(shù)法格式化浮點數(shù)%E

作用同%e,用科學(xué)計數(shù)法格式化浮點數(shù)%g

%f和%e的簡寫%G

%F和%E的簡寫%p

用十六進制數(shù)格式化變量的地址%r

萬能格式符,把對應(yīng)參數(shù)按原樣輸出2.2.3格式化輸出1.%格式化輸出(格式化操作符輔助指令)符號功能*定義寬度或者小數(shù)點精度-用做左對齊+在正數(shù)前面顯示加號(+)<sp>在正數(shù)前面顯示空格#在八進制數(shù)前面顯示零('0'),在十六進制前面顯示'0x'或者'0X'(取決于用的是'x'還是'X')0顯示的數(shù)字前面填充'0'而不是默認(rèn)的空格%'%%'輸出一個單一的'%'(var)映射變量(字典參數(shù))m.n.m是顯示的最小總寬度,n是小數(shù)點后的位數(shù)(如果可用的話)2.2.3格式化輸出1.%格式化輸出(舉例)a=16 #定義變量a并賦值b=123456788.12345 #定義變量b并賦值strs="IloveChina!" #定義字符串strs并賦值print("a=%06d"%a) #使用m控制輸出位數(shù),空位補0print("b=%8.3f"%b) #輸出b,用m.n控制輸出的長度和小數(shù)點位數(shù)print("%17s"%strs) #使用m控制輸出字符串長度print("%17r"%strs) #使用%r輸出字符串,按原樣輸出print("%-17.5s"%strs) #使用-m.n進行左對齊、限制字符串長度和字符位數(shù)輸出結(jié)果為:a=000016b=123456789.123IloveChina!'IloveChina!'Ilov2.2.3格式化輸出2.format格式化輸出使用format()方法也可以格式化字符串,其基本格式為:<模板字符串>.format(<逗號分隔的參數(shù)>)其中,模板字符串是一個由字符串和槽(用{}表示)組成的字符串,用來控制字符串和變量的顯示效果。其基本思想是將format()方法中逗號分隔的參數(shù)按照序號替換到模板字符串的槽中(序號從0開始編號)。2.2.3格式化輸出2.format格式化輸出(舉例)

輸出結(jié)果為:2.2.3格式化輸出2.format格式化輸出format()方法中模板字符串的槽除了包括參數(shù)序號外,還可以包括格式控制信息,此時槽的內(nèi)部樣式為:{參數(shù)序號:格式控制標(biāo)記}其中格式控制標(biāo)記用于控制參數(shù)顯示的格式,如表所示。填充對齊寬度,.精度格式字符用于填充的單個字符<左對齊>右對齊^居中對齊輸出寬度數(shù)字的千位分隔符浮點數(shù)小數(shù)部分精度或字符串最大輸出長度整數(shù)類型d,o,x,X,b,c浮點數(shù)類型e,E,f,%2.2.3格式化輸出2.format格式化輸出(格式控制標(biāo)記)(舉例)數(shù)字格式輸出描述3.1415926{:.2f}3.14保留小數(shù)點后兩位3.1415926{:+.2f}+3.14帶符號保留小數(shù)點后兩位-7{:+.2f}-7.00帶符號保留小數(shù)點后兩位3.14{:.0f}3不帶小數(shù)(四舍五入)6{:0>2d}06數(shù)字補零(填充左邊,寬度為2)6{:x<4d}6xxx數(shù)字補x(填充右邊,寬度為4)20{:x<4d}20xx數(shù)字補x(填充右邊,寬度為4)1000000{:,}1,000,000以逗號分隔的數(shù)字格式0.25{:.2%}25.00%百分比格式2.2.3格式化輸出2.format格式化輸出(格式控制標(biāo)記)(舉例)數(shù)字格式輸出描述1000000000{:.2e}1.00e+09指數(shù)記法16{:>10d}16右對齊(默認(rèn),寬度為10)16{:<10d}16左對齊(寬度為10)16{:^10d}16中間對齊(寬度為10)10'{:b}'.format(10)'{:d}'.format(10)'{:o}'.format(10)'{:x}'.format(10)'{:#x}'.format(10)'{:#X}'.format(10)10101012a0xa0XA進制2.2.3格式化輸出3.f-string格式化輸出(Python3.6及后續(xù)版本支持)

只需在字符串前面加上f,使用花括號{}在字符串中表示要被替換的輸出項。

(舉例)

輸出結(jié)果為:2.3典型工作項目本階段利用Python的IDLE開發(fā)環(huán)境,編寫程序,從鍵盤輸入張山同學(xué)的數(shù)學(xué)、英語和Python三門課程的成績,計算總分以及平均分,并輸出。通過測試后,提交該程序。

2.3.1需求分析完成計算成績總分和平均分,首先需要從鍵盤輸入三門課程的成績,可以用三個變量math、english和Python分別來接收數(shù)學(xué)、英語和Python課程的成績,然后進行求總分和求平均分計算,最后輸出結(jié)果。

2.3.2程序設(shè)計通過需求分析可以知道,程序包括以下步驟:第一步:用三個變量math、english和python分別來接收數(shù)學(xué)、英語和Python課程的成績。第二步:將三門課程成績求和,送給保存總分的變量。第三步:將總分除以3.0,送給保存平均分的變量。第四步:輸出三門課程的分?jǐn)?shù),以及總分和平均分。2.3.3程序編碼1.參考代碼2.3.4程序測試選擇“Run”菜單中的“RunModule”,或者直接按功能鍵F5運行程序,結(jié)果如下。通過測試,運行結(jié)果如下圖所示。該程序符合要求,可以交付使用。2.3.5程序交付將程序文件進行保存,文件名取名為典型案例score,最后提交典型案例score.py文件到指定位置。感謝您的觀看Python程序設(shè)計

項目3編寫學(xué)生成績管理系統(tǒng)菜單界面3.1學(xué)習(xí)目標(biāo)學(xué)習(xí)基礎(chǔ)知識:順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)控制語句通過學(xué)習(xí)編寫學(xué)生信息管理系統(tǒng)菜單界面這一具體項目,熟練掌握Python語言中選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)等流程控制語句的使用方法。3.2基礎(chǔ)知識在Python中有三種流程控制結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。3.2.1順序結(jié)構(gòu)順序結(jié)構(gòu)是指程序從上向下依次執(zhí)行每條語句的結(jié)構(gòu),中間沒有任何的判斷和跳轉(zhuǎn)。3.2.1順序結(jié)構(gòu)【例】順序結(jié)構(gòu)示例:已知三角形三條邊的邊長(為簡單起見,假設(shè)這三條邊可以構(gòu)成三角形),求三角形的面積。3.2.2選擇結(jié)構(gòu)選擇結(jié)構(gòu)是根據(jù)條件判斷的結(jié)果來選擇執(zhí)行不同的代碼,可以分為單分支結(jié)構(gòu)、雙分支結(jié)構(gòu)和多分支結(jié)構(gòu)。3.2.2選擇結(jié)構(gòu)1.簡單if語句if語句允許程序通過判斷條件是否成立而選擇是否執(zhí)行指定的語句。語法:3.2.2選擇結(jié)構(gòu)【例】輸入兩個數(shù)a和b,比較兩者大小,使得a大于b。運行結(jié)果:3.2.2選擇結(jié)構(gòu)2.if-else語句語法:3.2.2選擇結(jié)構(gòu)【例】編寫程序,要求輸入張山同學(xué)的Python程序設(shè)計課程的成績,判斷該學(xué)生是否及格,如未及格,計算還需多少分才能及格。當(dāng)輸入85時,運行結(jié)果為:

當(dāng)輸入50時,運行結(jié)果為:3.2.2選擇結(jié)構(gòu)3.if-elif-else語句編程時常常需要判定一系列的條件,一旦其中某一個條件為真就立刻停止。語法:3.2.2選擇結(jié)構(gòu)【例】學(xué)生成績可分為百分制和五級制,將輸入的百分制成績score,轉(zhuǎn)換成相應(yīng)的五級制成績后輸出。3.2.2選擇結(jié)構(gòu)【例】空氣質(zhì)量指數(shù)(AirQualityIndex,簡稱AQI),是一個用來定量描述空氣質(zhì)量水平的數(shù)值。查看當(dāng)天的空氣質(zhì)量指數(shù),輸入程序并判斷空氣質(zhì)量狀況。最后,加上一句愛護環(huán)境的宣傳語。輸入AQI為49時,運行結(jié)果為:3.2.2選擇結(jié)構(gòu)4.if的嵌套語句if語句中包含了if語句,稱之為if的嵌套。內(nèi)嵌的if語句,可以是簡單if語句,也可以是if-else語句,還可以是if-elif-else語句。語法:3.2.2選擇結(jié)構(gòu)【例】假如你準(zhǔn)備去海南旅游,現(xiàn)在要訂購機票。機票的價格受旺季、淡季影響,而且頭等艙和經(jīng)濟艙的價格也不同。假設(shè)機票原價為1000元,4~10月為旺季,旺季頭等艙打9折,經(jīng)濟艙6折,淡季頭等艙5折,經(jīng)濟艙4折。編寫程序輸出實際的機票價格。輸入出行月份3,選擇經(jīng)濟艙23.2.3循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)是根據(jù)條件來重復(fù)地執(zhí)行某段代碼或遍歷集合中的元素。在Python中提供了while語句、for語句來實現(xiàn)循環(huán)結(jié)構(gòu)。3.2.3循環(huán)結(jié)構(gòu)1.while語句while循環(huán)是通過條件來控制是否要繼續(xù)反復(fù)執(zhí)行循環(huán)體中的語句。語法:說明:循環(huán)體是一組被重復(fù)執(zhí)行的語句。當(dāng)條件表達(dá)式的值為真時,則執(zhí)行循環(huán)體中的語句,執(zhí)行完畢后,重新判斷條件表達(dá)式的返回值,條件表達(dá)式的返回值結(jié)果為假時,退出循環(huán)?!咀⒁狻縲hile循環(huán)語句是“先判斷,后執(zhí)行”,存在死循環(huán)可能。3.2.3循環(huán)結(jié)構(gòu)【例】編寫程序,求S=1+2+3+…+100的值。3.2.3循環(huán)結(jié)構(gòu)2.for語句for循環(huán)是一個依次執(zhí)行的循環(huán)。通常適用于枚舉或者遍歷序列,以及迭代對象中的元素。語法:說明:其中,迭代變量用于保存讀取出的值;對象為要遍歷或者迭代的對象,該對象可以是任何有序的序列對象,如字符串,列表和元組等;循環(huán)體為一組被重復(fù)執(zhí)行的語句。3.2.3循環(huán)結(jié)構(gòu)2.for語句range()函數(shù)可以給出一個,兩個或三個參數(shù)。其表示方法:start表示計數(shù)初始值從start開始,其默認(rèn)值是0。end表示計數(shù)終值,整數(shù)序列包括從start開始,到end-1終止,注意到并不包括end本身。step:步長值,默認(rèn)為1。3.2.3循環(huán)結(jié)構(gòu)【例】用for語句求S=1+2+3+…+100的值。3.2.3循環(huán)結(jié)構(gòu)【練習(xí)】遠(yuǎn)離校園貸,莫用青春來還債。一個網(wǎng)貸平臺貸款額度1萬元,日息普遍在萬分之五,請問借6000,一年后還多少?結(jié)果是7200.96,可對比銀行貸款但:網(wǎng)貸平臺會多收取20%-30%的保證金,一旦逾期還款,不僅要支付未還金額0.5-1%/天的罰息,還會扣除保證金。要加強防范詐騙意識!s=6000sum=s*(1+0.0005)**365print('{:.2f}'.format(sum))a=1foriinrange(1,366):a*=(1+0.0005)print('{:.2f}'.format(6000*a))3.2.3循環(huán)結(jié)構(gòu)3.循環(huán)的嵌套在Python中,允許在一個循環(huán)體中嵌入另一個循環(huán),這稱為循環(huán)嵌套。for循環(huán)和while循環(huán)都可以進行循環(huán)嵌套。如:3.2.3循環(huán)結(jié)構(gòu)【例】編寫一個程序,輸出以下乘法表。3.2.3循環(huán)結(jié)構(gòu)【例】用Python編程,我國古代數(shù)學(xué)家張丘建在《算經(jīng)》一書中曾提出過著名的“百錢買百雞”問題,該問題敘述如下:雞翁一,值錢五;雞母一,值錢三;雞雛三,值錢一;百錢買百雞,則翁、母、雛各幾何?3.2.4循環(huán)控制語句在很多情況下,只要滿足一定的條件就應(yīng)當(dāng)提前結(jié)束正在執(zhí)行的循環(huán)操作。Python提供了break和continue語句來跳出循環(huán)。break:用于結(jié)束循環(huán)并跳出循環(huán)體,去執(zhí)行循環(huán)下面的語句。continue:用于只希望提前結(jié)束本次循環(huán),接著執(zhí)行下次循環(huán)。pass:表示空語句。它不做任何事情,一般起到占位作用。3.2.4循環(huán)控制語句1.break語句【例】計算滿足條件的最大整數(shù)n,使得1+2+3+…+n<=

10000。3.2.4循環(huán)控制語句2.continue【例】輸出1~20之間所有的奇數(shù)。3.2.4循環(huán)控制語句3.pass【例3】在應(yīng)用for循環(huán)輸出10?20(不包括20)的偶數(shù)時,在不是偶數(shù)時,應(yīng)用pass語句占個位置,方便以后對不是偶數(shù)的數(shù)進行處理。3.2.4循環(huán)控制語句4.while...else與for...else語句當(dāng)while(for)循環(huán)正常執(zhí)行,中間沒有break、return的時候,會執(zhí)else后面的語句。3.2.4循環(huán)控制語句4.while...else與for...else語句【例】編寫程序,隨機產(chǎn)生骰子的一面(數(shù)字1~6),給用戶三次猜測機會,程序給出猜測提示(偏大或偏?。?。如果某次猜測正確,則提示正確并中斷循環(huán);如果三次均猜錯,則提示機會用完。3.2.4循環(huán)控制語句4.while...else與for...else語句【例】for...else語句應(yīng)用示例,猜年齡游戲,通過輸入一個年的年齡,然后判斷是猜大了還是猜小了。若超過3次,提示“對不起,次數(shù)到了!”。3.3典型工作項目本階段是在Python的IDLE開發(fā)環(huán)境下,通過對Python流程控制語句的學(xué)習(xí),編寫“學(xué)生成績管理系統(tǒng)”菜單界面程序。通過測試后,提交該程序。

3.3.1需求分析本次完成菜單程序設(shè)計。首先通過輸出語句輸出功能菜單,菜單包括功能對應(yīng)所需的錄入、刪除、修改、顯示以及對應(yīng)的數(shù)字選項等,再通過鍵盤選擇功能對應(yīng)的選項,可以進入到功能對應(yīng)的程序?qū)崿F(xiàn)相應(yīng)功能。3.3.2程序設(shè)計1.總體設(shè)計系統(tǒng)的功能模塊包括:1)主界面:顯示系統(tǒng)的功能菜單。2)錄入模塊:提示系統(tǒng)進入錄入學(xué)生成績模塊。3)顯示模塊:提示系統(tǒng)進入顯示學(xué)生成績模塊。4)查詢模塊:提示系統(tǒng)進入查詢學(xué)生成績模塊。5)修改模塊:提示系統(tǒng)進入錄入學(xué)生成績模塊。6)刪除模塊:提示系統(tǒng)進入錄入學(xué)生成績模塊。3.3.2程序設(shè)計2.主界面設(shè)計3.3.2程序設(shè)計3.詳細(xì)設(shè)計設(shè)計一個可以重復(fù)顯示的系統(tǒng)菜單,只有用戶選擇退出選項時才能退出系統(tǒng)。選擇系統(tǒng)菜單中有的選項時,進入到相應(yīng)的選項模塊實現(xiàn)該功能,此外,提示用戶輸入選項有誤。3.3.3程序編碼1.參考代碼3.3.4程序測試選擇“Run”菜單中的“RunModule”,或者直接按功能鍵F5運行程序,結(jié)果如下。通過測試,運行結(jié)果如下圖所示。該程序符合要求,可以交付使用。3.3.5程序交付將程序文件進行保存,文件名取名為menu.py,最后提交典型案例menu.py文件到指定位置。感謝您的觀看Python程序設(shè)計

項目4編寫基于序列結(jié)構(gòu)的學(xué)生信息管理系統(tǒng)4.1學(xué)習(xí)目標(biāo)學(xué)習(xí)基礎(chǔ)知識:序列的基本概念字符串、列表、元組、字典、集合常見內(nèi)置函數(shù)的用法通過編寫輸出“編寫基于序列結(jié)構(gòu)的學(xué)生信息管理系統(tǒng)”具體項目,掌握字符串、列表、元組、字典及集合等相關(guān)序列結(jié)構(gòu)的應(yīng)用。4.2基礎(chǔ)知識數(shù)據(jù)結(jié)構(gòu)是通過某種方式(如對元素進行編號)組織在一起的數(shù)據(jù)元素的集合,這些數(shù)據(jù)元素可以是數(shù)字或者字符,甚至可以是其他數(shù)據(jù)結(jié)構(gòu)。

在Python中,最基本的數(shù)據(jù)結(jié)構(gòu)是序列(sequence),常用的序列結(jié)構(gòu)有字符串、列表、元組、字典和集合。4.2基礎(chǔ)知識1.序列序列是一塊用來存放多個值的連續(xù)內(nèi)存空間。所有序列類型都可以進行某些特定的操作。這些操作包括索引、分片、加、乘、計算序列長度、找出最大元素和最小元素。4.2基礎(chǔ)知識2.序列的索引序列中的所有元素都可以通過索引(下標(biāo))來獲取;從左往右,第一個元素的索引為0,第二個為1……索引還可以取負(fù)值,從右往左,最后一個元素的索引為-1,倒數(shù)第二個為-2……4.2基礎(chǔ)知識2.序列的索引創(chuàng)建一個字符串:str='Python'字符Python索引(正)012345索引(負(fù))-6-5-4-3-2-1假設(shè)需要獲取字符串變量str中的第1個字符“P”:str[0] str[-6] 'Python'[0]4.2基礎(chǔ)知識分片與索引類似,都可以獲取序列中的元素,區(qū)別是索引只能獲取單個元素,而分片可以獲取一定范圍內(nèi)的元素。分片通過冒號隔開的兩個索引來實現(xiàn)。3.分片slice[start:end:step]start表示起始索引,省略時表示從序列中的第一個元素開始;end表示結(jié)束索引(不包含結(jié)束位本身),省略時表示到序列的最后一個元素結(jié)束;step表示步長(默認(rèn)為1,不能為0)4.2基礎(chǔ)知識3.分片例如創(chuàng)建序列:strs='abcdefg'分片方式描

述結(jié)

果strs[1:]獲取strs中從索引1開始到最后一個的所有元素'bcdefg'strs[:3]獲取strs中從索引0到索引3之間所有元素'abc'strs[1:3]獲取strs中從索引1到索引3之間所有元素'bc'strs[:-1]獲取strs中從索引0開始到最后一個元素之間的所有元素'abcdef'strs[-3:-1]獲取strs中從索引-3開始到最后一個元素之間的所有元素'ef'strs[-3:]獲取strs中最后三個元素'efg'strs[:]獲取strs中所有元素'abcdefg'strs[0:7:1]獲取序列strs中所有元素'abcdefg'strs[0:7:2]strs[::2]將步長設(shè)置為2,獲取strs從開始到結(jié)束的元素'aceg'strs[7:0:-1]獲取strs中從索引7到索引0之間所有元素'gfedcb'4.2基礎(chǔ)知識序列相加,就是序列的連接操作。4.序列相加>>>'Hello,'+'World' #字符串序列連接'Hello,World'>>>[1,2,3]+[4,5,6] #列表序列連接[1,2,3,4,5,6]我們要注意的是:只有兩種相同類型的序列才能進行連接操作。字符串和列表是無法連接在一起的。4.2基礎(chǔ)知識使用數(shù)字n乘以一個序列會生成新的序列,在新的序列中,原來的序列將被重復(fù)n次。5.序列乘法

編寫程序,要求利用序列的乘法運算輸出strs="IlovePython!“ #定義字符串并賦值print(""*10+"-"*15) #利用序列的乘法運算輸出10個空格和15個“-”print(""*30) #輸出30個空格print(""*10+strs) #輸出10個空格和字符串print(""*30) #輸出30個空格print(""*10+"-"*15) #輸出10個空格和15個“-”>>>'hello'*3'hellohellohello'4.2基礎(chǔ)知識6.序列的長度、最小值、最大值strs=input("請輸入一個字符串:")str_len=len(strs)str_max=max(strs)str_min=min(strs)print("該字符串長度為:",str_len)print("該字符串中最大字符為:",str_max)print("該字符串中最小字符為:",str_min)

程序運行效果4.2.1字符串字符串是以英文單引號、雙引號或三引號括起來的任意文本(需要前后一致),如'abc',"xyz"等。如果單引號本身也是字符串中的一個字符,那就可以用雙引號括起來,例如"I'mOK!"如果雙引號本身也是字符串中的一個字符,那就可以用單引號括起來。例如'Itoldmyfriend,"Pythonismyfavoritelanguage!"‘如果字符串內(nèi)部既包含單引號又包含雙引號,則可以用轉(zhuǎn)義字符“\”來標(biāo)識,例如'I\'m\"OK\"!'4.2.1字符串字符串索引Python的字符串操作非常靈活,所有元素可以通過索引來獲取。索引分為正索引和負(fù)索引。正索引從左往右,從0開始,第二個為1,直到最后一個;負(fù)索引從右往左,最后一個元素的索引為-1,倒數(shù)第二個為-2,直到第一個。兩種索引可以同時使用。如創(chuàng)建一個字符串,str=‘IloveChina’,其索引如下表所示。4.2.1字符串字符串切片索引可以獲取字符序列的單個元素,切片則可獲取一定范圍內(nèi)元素。切片的語法格式:切片選取的區(qū)間屬于左閉右開型,即從“起始”位開始,到“結(jié)束”位的前一位結(jié)束(不包含結(jié)束位本身)“步長”:即間隔,步長<0表示從右往左倒著取字符。省略“起始”的索引,表示從序列中的第一個元素開始,省略“結(jié)束”,表示到序列的最后一個元素結(jié)束。4.2.1字符串字符串運算符操作符描述+字符串連接*重復(fù)輸出字符串[]通過索引獲取字符串中字符[:]截取字符串中的一部分,遵循左閉右開原則,str[0:3]是不包含第4個字符的。in成員運算符,如果字符串中包含給定的字符返回Truenotin成員運算符,如果字符串中不包含給定的字符返回Truer/R原始字符串,所有的字符串都是直接按照字面的意思來使用,沒有轉(zhuǎn)義特殊或不能打印的字符。原始字符串除在字符串的第一個引號前加上字母r(可以大小寫)以外,與普通字符串有著幾乎完全相同的語法。4.2.1字符串字符串內(nèi)置函數(shù)(部分)操作符描述str.count(string,beg=0,end=len(str))返回string在字符串中出現(xiàn)的次數(shù)。如果beg或者end指定則返回指定范圍內(nèi)string出現(xiàn)的次數(shù);如果不指定,則默認(rèn)范圍從字符串的開始到結(jié)束str.find(string,beg=0,end=len(str))檢測string是否包含在字符串中,如果指定范圍beg和end,則檢查是否包含在指定范圍內(nèi),如果包含返回開始的索引值,否則返回-1str.isalpha()如果字符串至少有一個字符并且所有字符都是字母或中文字則返回True,否則返回Falsestr.isupper()如果字符串中包含至少一個區(qū)分大小寫的字符,并且所有這些(區(qū)分大小寫的)字符都是大寫,則返回True,否則返回Falselen(str)返回字符串長度str.split(string="",num=str.count(string))以string為分隔符截取字符串,如果num有指定值,則僅截取num+1個子字符串str.strip([chars])刪除字截掉字符串左右邊的空格或指定字符chars4.2.1字符串find()函數(shù)用于在一個較長的字符串中查找子串。str表示被查找字符串;sub表示查找的子串;start表示開始索引,省略時默認(rèn)為0;end表示結(jié)束索引,省略時默認(rèn)為字符串的長度。如果找到子串,返回子串所在位置的最左端索引;如果沒有找到則返回-1。str.find(sub[,start[,end]])4.2.1字符串例:查找子串“l(fā)ike”是否在字符串new_str中。new_str="IlikelearningPython" #創(chuàng)建字符串a(chǎn)=new_str.find("like") #在new_str中查找子串“l(fā)ike”b=new_str.find("like",5,15) #在new_str的索引為5~15的字符中查找子串print(a) #輸出aprint(b) #輸出b程序運行效果4.2.1字符串count()函數(shù)用于統(tǒng)計字符串里某個子串出現(xiàn)的次數(shù)。該函數(shù)返回子串在字符串中出現(xiàn)的次數(shù)。str表示被查找字符串;sub表示要統(tǒng)計的子串;start表示開始索引,省略時默認(rèn)為0;end表示結(jié)束索引,省略時默認(rèn)為字符串的長度。str.count(sub[,start[,end]])4.2.1字符串例:創(chuàng)建字符串new_str=“ThisisaPythonbook!”,使用count()方法找出其中“is”

出現(xiàn)的次數(shù)。new_str="ThisisaPythonbook!" #創(chuàng)建字符串"ThisisaPythonbook!"a=new_str.count('is’) #統(tǒng)計new_str中“is”出現(xiàn)的次數(shù)b=new_str.count('is',1,6) #設(shè)置開始和結(jié)束索引,統(tǒng)計“is”出現(xiàn)的次數(shù)print(a) #輸出aprint(b) #輸出b程序運行效果4.2.1字符串split()函數(shù)以指定字符為分隔符,從字符串左端開始將其分隔成多個字符串,并返回包含分隔結(jié)果的列表。str表示被分隔的字符串;delimiter表示分隔符,省略時默認(rèn)為空字符,包括空格、換行(\n)、制表符(\t)等;num表示分割次數(shù),省略時默認(rèn)全部分割。str.split([delimiter,num])4.2.1字符串join()函數(shù)用于將序列中的元素以指定的字符連接,生成一個新的字符串。str表示連接符,可以為空;sequence表示要連接的元素序列。例如:創(chuàng)建字符串new_str=“Thisisapythonbook!”,使用join()方法將new_str中的字符用“-”連接。>>>new_str="Thisisapythonbook!“ #創(chuàng)建字符串"Thisisapythonbook!">>>'-'.join(new_str) #用“-”連接new_str中的字符'T-h-i-s--i-s--a--p-y-t-h-o-n--b-o-o-k-!' str.join(sequence)4.2.1字符串replace()函數(shù)用于將字符串中的舊字符串替換成新字符串。str表示被查找字符串;old表示將被替換的子串;new表示新字符串,用于替換old子串;max是可選參數(shù),表示替換不超過max次,省略時默認(rèn)替換所有。str.replace(old,new[,max])4.2.1字符串例如:創(chuàng)建字符串“new_str=”MondayTuesdayWednesdayThursdayFridaySaturdaySunday“”,使用replace()方法替換其中的day為DAY。>>>new_str="MondayTuesdayWednesdayThursdayFridaySaturdaySunday">>>new_str.replace('day','DAY') #將new_str中的day替換為DAY'MonDAYTuesDAYWednesDAYThursDAYFriDAYSaturDAYSunDAY'>>>new_str.replace('day','DAY',3) #將new_str中的day替換為DAY,限制為3次'MonDAYTuesDAYWednesDAYThursdayFridaySaturdaySunday'4.2.1字符串strip()函數(shù)用于刪除字符串兩端連續(xù)的空白字符或指定字符。str表示字符串;chars表示移除字符串兩端指定的字符,省略時默認(rèn)為空格。str.strip([chars])4.2.1字符串例:創(chuàng)建字符串new_str=“110Thisisanexample0001”,使用strip()方法去掉字符串中的“0”和“1”。>>>new_str="110Thisisanexample0001" #創(chuàng)建字符串>>>new_str.strip('1') #移除new_str兩側(cè)的1'0Thisisanexample000' >>>new_str.strip('01') #移除new_str兩側(cè)的0和1'Thisisanexample' 4.2.1字符串lower()函數(shù)用于轉(zhuǎn)換字符串中所有大寫字符為小寫;upper()函數(shù)則用于轉(zhuǎn)換字符串中所有小寫字符為大寫。str.lower()str.upper()例如:創(chuàng)建字符串“new_str=”ThisisanEXAMPLE“”,使用lower()方法將其轉(zhuǎn)換為小寫,再使用upper()方法將其轉(zhuǎn)換為大寫。>>>new_str="ThisisanEXAMPLE“ #創(chuàng)建字符串>>>new_str.lower() #將new_str中的大寫字符轉(zhuǎn)為小寫'thisisanexample' >>>new_str.upper() #將new_str中的小寫字符轉(zhuǎn)為大寫'THISISANEXAMPLE' 4.2.1字符串isalnum()函數(shù)用于檢測字符串是否由字母和數(shù)字,或兩種的一種組成。str為用于檢測的字符串;如果是就返回True;否則返回False。>>>new_str="2018example" #創(chuàng)建字符串>>>new_str.isalnum() #判斷new_str中是否只有數(shù)字或字母True str.isalnum()例如:創(chuàng)建字符串new_str=“2018example”,使用isalnum()方法判斷new_str中是否由字母或數(shù)字組成。4.2.2列表概述列表(list)是包含0個或多個元素的有序序列,屬于序列類型。列表的長度和內(nèi)容都是可變的,可自由對列表中的元素進行增加、刪除或替換。列表沒有長度限制,元素類型可以不同,可以同時包含整數(shù)、實數(shù)、字符串等基本類型,也可以是列表、元組、字典、集合以及其他自定義類型的對象,使用非常靈活。4.2.2列表列表創(chuàng)建創(chuàng)建列表的方式很簡單,只需將逗號分隔的不同元素使用方括號括起來即可。例如:>>>animal=['elephant','monkey','snake','tiger'] >>>animal ['elephant','monkey','snake','tiger']4.2.2列表例:列表的賦值與引用。程序運行結(jié)果如下所示[‘001’,’Wangwu’,98][‘001’,’Wangwu’,98][‘002’,’Wangwu’,98][‘002’,’Wangwu’,98]stu_1=['001','Wangwu',98] #是通過賦值方式創(chuàng)建列表stu_1stu_2=stu_1 #stu_2是stu_1所對應(yīng)數(shù)據(jù)的引用,stu_2并不包含真實數(shù)據(jù)print(stu_1,stu_2) #輸出stu_1和stu_2stu_1[0]='002' #修改元素stu_1[0]的值為'002'print(stu_1,stu_2) #輸出stu_1和stu_24.2.2列表根據(jù)結(jié)果分析,列表就好比c語言中的數(shù)組,所不同的是c語言中的數(shù)組的每個元素類型是一致的,而列表中的元素類型可以不同。列表名就相當(dāng)于數(shù)組名,stu2=stu1就相當(dāng)于stu2和stu1都指向同一個數(shù)組,所以修改了stu_1[0]的值,同樣stu_2[0]的值也被修改了,所以輸出的列表stu2和stu1值是一樣的。與字符串支持雙向索引一樣,列表也支持雙向索引,如正索引從0開始,第二個元素索引為1,負(fù)索引從右往左,-1表示最后一個元素,-2表示倒數(shù)第二個元素,依此類推。通過索引列表可以進行截取、組合等操作。4.2.2列表例:通過索引訪問列表中的單個元素。程序運行結(jié)果如下所示blueyellowlista=['blue','yellow','white','red','green','black']print(lista[0])print(lista[1])4.2.2列表例:使用負(fù)數(shù)索引值截取列表中的元素。程序運行結(jié)果如下所示lista[1:]:['華山','衡山','嵩山','恒山']lista[1:-2]:['華山','衡山']lista=["泰山","華山","衡山","嵩山","恒山"]print("lista[1:]:",lista[1:])#讀取第二位開始的所有元素print("lista[1:-2]:",lista[1:-2])#從第二位開始(包含)截取到倒數(shù)第二位(不包含)4.2.2列表列表切片賦值切片賦值是以切片的形式給列表賦值,可以一次為多個元素賦值。例如:list1=['a','b','c','d']list1[2:]=['e','f']print(list1) 程序運行結(jié)果如下所示['a','b','e','f']4.2.2列表列表的遍歷使用for循環(huán)遍歷列表。例如:names_list=["滕王閣","黃鶴樓","岳陽樓"]fornameinnames_list:print(name) 程序運行結(jié)果如下所示滕王閣黃鶴樓岳陽樓4.2.2列表列表的遍歷使用while循環(huán)遍歷列表。例如:names_list=["滕王閣","黃鶴樓","岳陽樓"]length=len(names_list)i=0whilei<length:print(names_list[i])i+=1 程序運行結(jié)果如右所示滕王閣黃鶴樓岳陽樓4.2.2列表列表的遍歷使用for循環(huán)和enumerate()函數(shù)實現(xiàn)列表的遍歷。例如:names_list=["滕王閣","黃鶴樓","岳陽樓"]forindex,iteminenumerate(names_list):print(index,item) 程序運行結(jié)果如下所示0滕王閣1黃鶴樓2岳陽樓4.2.2列表列表元素的追加append可以向列表添加元素,新的元素添加在列表的末尾。其語法格式:

list.append(object)

其中,list表示列表,object表示要插入到末尾的對象。例如:lista=["水滸傳","三國演義","西游記"]lista.append("紅樓夢")print("更新后的列表:",lista) 更新后的列表:['水滸傳','三國演義','西游記','紅樓夢']4.2.2列表列表元素的追加通過extend可以在列表末尾一次性追加另一個列表中的多個值。其語法格式:

list.extend(seq)

其中,list表示列表,seq表示要追加的元素序列。例如:lista=['a','b','c']listb=['d','e','f']lista.extend(listb)print(lista) ['a','b','c','d','e','f']4.2.2列表例:append和extend比較。程序運行結(jié)果如下所示['a','b','c',['d','e','f']]['a','b','c','d','e','f']lista=['a','b','c']listb=['d','e','f']lista.append(listb)print(lista)#append將listb作為一個整體添加lista=['a','b','c']lista.extend(listb)print(lista)#extend將listb的元素依次添加可以看出,使用append添加時,是將列表listb作為一個整體添加到列表lista中;使用extend添加時,是將列表listb的每一個元素依次添加添加到列表lista中4.2.2列表列表元素的追加通過insert在指定位置index前插入元素object。其語法格式:

list.insert(index,object)

其中,list:列表,index:對象插入的索引位置,object:要插入的對象。例如:a=[0,1,2]print(a)a.insert(1,3) #將3添加到列表索引為1的位置print(a)[0,1,2][0,3,1,2]4.2.2列表列表的合并和重復(fù)列表可以使用加法和乘法例如:lista=['a','b','c']listb=['c','d','e']print(lista+listb)print(lista*2)['a','b','c','c','d','e']['a','b','c','a','b','c']程序運行結(jié)果如下所示4.2.2列表列表的復(fù)制copy()方法,可以生成一個新的列表。其語法格式:

list.copy()

其中,list表示列表,方法沒有參數(shù),返回復(fù)制后的新列表。例如:list1=["水滸傳","三國演義","西游記","紅樓夢"]list2=list1.copy()print("復(fù)制后的list2:",list2) 復(fù)制后的list2:['水滸傳','三國演義','西游記','紅樓夢']4.2.2列表列表的清除clear()方法,可以清空列表中所有元素。其語法格式:

list.clear()

其中,list表示列表,方法沒有參數(shù),返回一個空列表。例如:list1=["水滸傳","三國演義","西游記","紅樓夢"]list1.clear()print("清除后的

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論