版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
程序設(shè)計語言的概念1.1.1初識Python1.1程序設(shè)計語言機器語言匯編語言高級語言例:計算5和11相加編譯與解釋1.1.2初識Python1.1程序設(shè)計語言編譯解釋目標(biāo)代碼靜態(tài)語言腳本語言CPU以下關(guān)于語言類型的描述中,錯誤的是______。解釋是將源代碼逐條轉(zhuǎn)換成目標(biāo)代碼同時逐條運行目標(biāo)代碼的過程C語言是靜態(tài)編譯語言,Python語言是腳本語言編譯是將源代碼轉(zhuǎn)換成目標(biāo)代碼的過程靜態(tài)語言采用解釋方式執(zhí)行,腳本語言采用編譯方式執(zhí)行ABCD單選題Python的歷史1.2.1初識Python1.2Python語言1989年圣誕節(jié)期間,吉多
范羅蘇姆為了在阿姆斯特丹打發(fā)時間,決心開發(fā)一個新的解釋程序。Python(蟒蛇)作為程序的名字,是因為他是BBC電視劇--蒙提
派森的飛行馬戲團(MontyPython’sFlyingCircus)的愛好者。1991年,第一個Python解釋器誕生。Python的應(yīng)用1.2.3初識Python1.2Python語言Python的特點1.2.2以下關(guān)于Python語言技術(shù)特點的描述中,錯誤的是______。Python比大部分編程語言具有更高的軟件開發(fā)產(chǎn)量和簡潔性Python是腳本語言,主要用作系統(tǒng)編程和Web訪問的開發(fā)語言Python語言是解釋執(zhí)行的,因此執(zhí)行速度比編譯型語言慢對于需要更高執(zhí)行速度的功能,例如數(shù)值計算和動畫,Python語言可以調(diào)用C語言編寫的底層代碼ABCD單選題1.以下不是Python語言特點的是[]
。A)執(zhí)行速度快B)語法簡潔C)支持中文D)生態(tài)豐富2.關(guān)于Python語言的描述,錯誤的選項是[]
。A)支持面向?qū)ο?B)支持面向過程 C)是一種機器語言 D)是一種解釋類型的語言單選題初識Python1.3Python的開發(fā)環(huán)境下載和安裝Python1.3.1Python官網(wǎng):https://www.python.org/downloads/初識Python1.3Python的開發(fā)環(huán)境IDLE開發(fā)環(huán)境1.3.2(1)新建Python程序(2)保存Python程序(3)打開Python程序(4)運行Python程序(5)語法高亮(6)常用快捷鍵快捷鍵功能說明Ctrl+[縮進代碼Ctrl+]取消縮進代碼Alt+3注釋代碼行Alt+4取消注釋代碼行Alt+/單詞自動補齊Alt+P瀏覽歷史命令(上一條)Alt+N瀏覽歷史命令(下一條)F1打開Python幫助文檔F5運行程序Ctrl+F6重啟Shell初識Python1.3Python的開發(fā)環(huán)境PyCharm集成開發(fā)環(huán)境1.3.3PyCharm官網(wǎng):https:///pycharm/2.建立Python項目和文件PyCharm集成開發(fā)環(huán)境1.3.3初識Python1.3Python的開發(fā)環(huán)境2.建立Python項目和文件PyCharm集成開發(fā)環(huán)境1.3.3初識Python1.3Python的開發(fā)環(huán)境初識Python1.4Python程序的運行環(huán)境Python程序的運行原理1.4.1建立和運行Python程序1.4.21.Python交互執(zhí)行方式1.IDLE交互執(zhí)行方式2.IDLE程序文件執(zhí)行方式初識Python1.5Python編程方法與應(yīng)用程序設(shè)計方法1.5.1分析問題設(shè)計算法編寫程序調(diào)試運行IPO程序設(shè)計模式計算機編程步驟在Python語言中,IPO模式不包括______。Input(輸入)Program(程序)Process(處理)Output(輸出)ABCD單選題在Python語言中,可以作為源文件后綴名的是______。pngpdfpypptABCD單選題初識Python1.5Python編程方法與應(yīng)用程序示例1.5.2Python的幫助文檔1.5.3初識Python1.6利用AI工具輔助編程DeepSeek工具1.(1)進入對話頁面(2)開啟對話(3)重新生成解答(4)追問初識Python1.6利用AI工具輔助編程利用DeepSeek工具編程2.(1)提示詞:編寫Python程序,不定義函數(shù),根據(jù)圓的半徑計算面積和周長(2)生成回答,閱讀并核查給出的回答,確認(rèn)其返回的代碼基本無誤后,復(fù)制生成的代碼,調(diào)試和運行一行書寫一條語句,結(jié)束不加“;”。一行寫多條語句用“;”分割。一條語句寫多行用“()”或“\”寫在[]、{}內(nèi)的跨行語句被視為一行。Python的語句2.1.1代碼塊與縮進2.1.2注釋2.1.3Python基礎(chǔ)知識2.1程序的書寫規(guī)范代碼塊也稱復(fù)合語句,由多行代碼組成。代碼塊用縮進方式表示(前部預(yù)留若干空格)。單行注釋用“?!遍_頭。多行注釋用3個引號(或英文的單引號、雙引號)Python語言中用來表示代碼塊所屬關(guān)系的語法是______??s進括號花括號冒號ABCD單選題用戶定義的、由程序使用的符號就是標(biāo)識符。Python的標(biāo)識符可以由字母、數(shù)字和下劃線“_”組成,且不能以數(shù)字開頭。標(biāo)識符區(qū)分大小寫,沒有長度限制。標(biāo)識符不能使用計算機語言中預(yù)留有特殊作用的關(guān)鍵字。標(biāo)識符的命名盡量符合見名知意的原則。合法的標(biāo)識符:
myVar_Variable姓名非法的標(biāo)識符:
2Varvari#ablefinallystu@lnnumyname標(biāo)識符2.2.1關(guān)鍵字2.2.2Python基礎(chǔ)知識2.2標(biāo)識符和關(guān)鍵字Python保留某些單詞用做特殊用途,這些單詞被稱為關(guān)鍵字,也叫保留字。用戶定義的標(biāo)識符(變量名、方法名等)不能與關(guān)鍵字相同。andasassertbreakclasscontinuedefdelelifelseexceptFalsefinallyforfromglobalifimportinislambdanonlocalnotorNonepassraisereturnTruetrywhilewithyield
help()命令:查看幫助quit命令:退出幫助以下不屬于Python語言保留字的是______。dopasswhiledefABCD單選題Python基礎(chǔ)知識2.3Python的數(shù)據(jù)類型類型名稱類型描述舉例1.整數(shù)類型(int)簡稱整型,與數(shù)學(xué)中整數(shù)的概念一致。100,21,0o67,0B1011,0x10F2.浮點類型(float)表示數(shù)學(xué)中的實數(shù),是帶有小數(shù)的數(shù)據(jù)類型。3.14,10.0,3.22e3,0.24E6,1.5E-33.復(fù)數(shù)類型(complex)表示數(shù)學(xué)中的復(fù)數(shù),由實數(shù)部分real和虛數(shù)部分imag。5+3j,-3.4-6.8j4.布爾類型(bool)是一種特殊的整型,只有兩個取值:True和False。True,1,False,05.字符串類型(str)用單引號,雙引號和三引號括起來的字符序列?!癙ython”,“beatiful”6.列表類型(list)是一種序列類型,是一種數(shù)據(jù)集合,用[]來表示。[1,2,3,4],[“one”,“two”,“three”]7.元組類型(tuple)是由0個或多個元素組成的不可變的序列類型。(“physics”,“chemistry”,1997,2000)8.字典類型(dict)內(nèi)置的映射類型,用來實現(xiàn)通過數(shù)據(jù)查找關(guān)聯(lián)數(shù)據(jù)。{“name”:“rose”,“age”:18,“score”:75.2}9.集合類型(set)是一組對象的集合,對象可以是各種類型。Set([1,2,3,4])Python基礎(chǔ)知識2.4Python的變量常量變量在程序運行期間發(fā)生改變的量。用于在程序中臨時保存數(shù)據(jù),定義格式:varName=value變量的類型由所賦的值決定。查看變量類型:type(varName)例:x=8在程序運行期間值不發(fā)生改變的量。常量有類型。例:”Python”,3.14,100,True1.變量名(1)大駝峰MyName,YourFamily(2)小駝峰myName,yourFamily(3)下劃線(_)my_Name,your_Family2.變量值
賦給變量的值,可以是數(shù)字、字符串、列表、元組、字典、集合。3.變量賦值
“=”在Python語言中,不能作為變量名的是______。pTemp3pfgABCD單選題算術(shù)運算符2.5.1Python基礎(chǔ)知識2.5Python的運算符運算符功能描述運算符功能描述+加%求余數(shù)-減**求冪*乘//整除/除算術(shù)運算可以完成數(shù)學(xué)中的加、減、乘、除等運算。由算術(shù)運算符將數(shù)值類型的常量、變量、函數(shù)等連接起來就構(gòu)成了算術(shù)表達(dá)式。算術(shù)表達(dá)式的計算結(jié)果是一個數(shù)值。不同類型的數(shù)據(jù)進行運算時,這些數(shù)據(jù)類型應(yīng)當(dāng)是兼容的,并遵循運算符優(yōu)先的原則。比較運算符2.5.2Python基礎(chǔ)知識2.5Python的運算符運算符功能描述運算符功能描述>大于<=小于等于<小于==等于>=大于等于!=不等于比較運算是指兩個數(shù)據(jù)之間的比較運算。比較運算符多用于數(shù)值型數(shù)據(jù)的比較,有時也用于字符串?dāng)?shù)據(jù)的比較,比較的結(jié)果是布爾值True或False。用比較運算符連接的表達(dá)式稱為關(guān)系表達(dá)式。邏輯運算符包括and、or、not,分別表示邏輯與、邏輯或、邏輯非,運算的結(jié)果是布爾值True或False。邏輯運算符2.5.3Python基礎(chǔ)知識2.5Python的運算符運算符表達(dá)式描述示例(x=12、y=0)andxandyx,y有一個為False,邏輯表達(dá)式的值為Falsexandy,值為0orxoryx,y有一個為True,邏輯表達(dá)式的值為Truexory,值為12notnotxx值為True,邏輯表達(dá)式的值為False,x值為False,邏輯表達(dá)式的值為Truenotx,值為Falsenoty,值為True用于計算表達(dá)式的值并送給變量??梢詾閱我蛔兞抠x值,為多個變量賦一個值,為多個變量賦多個值。賦值運算符“=”。賦值運算是將賦值號右邊的值送給賦值號左邊的變量,賦值表達(dá)式的運算方向是從右到左。賦值運算符可以和算術(shù)運算符組合成復(fù)合賦值運算符。賦值運算符2.5.4Python基礎(chǔ)知識2.5Python的運算符運算符功能描述示例+=加法賦值運算符x+=y相當(dāng)于x=x+y-=減法賦值運算符x-=y相當(dāng)于x=x-y*=乘法賦值運算符x*=y相當(dāng)于x=x*y/=除法賦值運算符x/=y相當(dāng)于x=x/y%=取余賦值運算符x%=y相當(dāng)于x=x%y**=冪賦值運算符x**=y相當(dāng)于x=x**y//=整除賦值運算符x//=y相當(dāng)于x=x//y位運算符2.5.5Python基礎(chǔ)知識2.5Python的運算符運算符用法描述~~op1按位取反&op1&op2按位與|op1|op2按位或^op1^|op2按位異或>>op1>>|op2右移op2位<<op1<<op2左移op2位位運算符用于對整數(shù)中的位進行測試、置位或移位處理,可以對數(shù)據(jù)進行按位操作。Python基礎(chǔ)知識2.6運算符的優(yōu)先級表達(dá)式中的運算符存在優(yōu)先級。優(yōu)先級是指在同一表達(dá)式中多個運算符被執(zhí)行的次序,在計算表達(dá)式值時,應(yīng)按運算符的優(yōu)先級別由高到低的次序執(zhí)行。如果一個運算對象兩側(cè)的運算符優(yōu)先級相同,則按規(guī)定的結(jié)合方向處理,稱為運算符的結(jié)合性。!(非)、+(正)、-(負(fù))以及=(賦值)運算符結(jié)合方向是“先右后左”,其余運算符為“先左后右”。在表達(dá)式中,可以使用括號()標(biāo)明運算次序,括號中的表達(dá)式優(yōu)先計算。優(yōu)先次序運算符1**(指數(shù))2~(按位取反)+(正數(shù))-(負(fù)數(shù))3*/%//4+-5>>(右移)<<(左移)6&7^8|9<><=>=10==!=11=+=-=*=/=%=//=12not13andor以下代碼的輸出結(jié)果是______。x=2+9*((3*12)-8)//10print(x)2627.228.227ABCD單選題表達(dá)式3*4**2//8%7的計算結(jié)果是______。3645ABCD單選題向DeepSeek提問AIPython基礎(chǔ)知識2.7利用AI工具解決編程中的問題USER:編寫Python程序時,IDLE如何設(shè)置默認(rèn)的打開文件目錄?USER:Python的運算符“==”和“=”有什么區(qū)別?觀察DeepSeek的回答結(jié)果,如果認(rèn)為回答達(dá)不到要求,可以進一步追問,不斷調(diào)整,直至得到較為滿意的回答。Python中的字符串3.1字符串的表示str,字符集合,被引號包含,引號可以是單引號、雙引號或者三引號。單引號和雙引號包含的是單行字符。三引號可以包含多行字符串,經(jīng)常出現(xiàn)在函數(shù)聲明的下一行,用來注釋函數(shù)的功能。示例:’college’,’12’,’st”ude”nt’
“student”,”116600”,”st’ud’ent”
“““三引號包含的是
多行字符串”””轉(zhuǎn)義符含義轉(zhuǎn)義符含義描述\續(xù)行符\n換行\(zhòng)\反斜杠符號\t橫向制表符\'單引號\r回車\"雙引號\f換頁\a響鈴\ooo八進制\b退格\xhh十六進制\0空\other其它的字符字符串常量3.1.1轉(zhuǎn)義符3.1.2以下代碼的輸出結(jié)果是______。x='A\0B\0C'print(len(x))5376ABCD單選題使用str.format()方法3.2.11.模板字符串與format()方法中參數(shù)的對應(yīng)關(guān)系●位置參數(shù)匹配
如果占位符{}為空(沒有表示順序的序號),按照參數(shù)出現(xiàn)的先后次序匹配。如果占位符{}指定參數(shù)的序號,按照序號對應(yīng)參數(shù)替換。●使用鍵值對的關(guān)鍵字參數(shù)匹配
format()方法中的參數(shù)用鍵值對形式表示時,在模板字符串中用“鍵”來表示?!袷褂眯蛄械乃饕鳛閰?shù)匹配
如果format()方法中的參數(shù)是列表或元組,可以用其索引(序號)來匹配。Python中的字符串3.2字符串的格式化3.2.12.模板字符串str的格式控制
[[fill]align][sign][width][,][.precision][type]fill:空白處填充的字符。align:控制對其方式(<:左對齊;>:右對齊;^:居中對齊)sign:數(shù)字前的符號(+:正號前;-:負(fù)號前;空格:正數(shù)前加空格,負(fù)數(shù)前加負(fù)號)width:字符串的寬度。逗號(,):千分位分隔符。precision:小數(shù)位的精度。type:指定格式化的類型。Python中的字符串3.2字符串的格式化使用str.format()方法示例3-4從Python3.6開始增加了f-strings(格式化字符串字面量)方法。應(yīng)用f-strings方法時,在字符串引號(單引號、雙引號或三引號)前加上一個“f”或“F”作為前綴,在字符串中,{}中的變量或表達(dá)式在程序運行時會被變量或表達(dá)式的值代替。用%操作符格式化字符串3.2.2Python中的字符串3.2字符串的格式化>>>name="Charlie">>>age=28>>>print(f"Mynameis{name}andIam{age}yearsold.")MynameisCharlieandIam28yearsold.>>>salary=5600>>>rate=1.2>>>print(F'{salary}*{rate}={salary*rate}')5600*1.2=6720.0字符串由若干字符組成,為實現(xiàn)字符串的連接、子串的選擇等,Python提供了系列字符串的操作符。Python中的字符串3.3字符串的操作符操作符描述實例(a=“Hello”,b=“Python”)+連接字符串a(chǎn)+b
結(jié)果是:HelloPython*重復(fù)輸出字符串a(chǎn)*2結(jié)果是:HelloHello[i]切片操作。通過索引獲取字符串中字符,i是字符的索引a[1]結(jié)果是:e[:]切片操作。截取字符串中的一部分a[1:4]結(jié)果是:ellin如果字符串中包含給定的字符返回True“H”ina結(jié)果是:Truenotin如果字符串中不包含給定的字符返回True“M”notina結(jié)果是:Truer/R原始字符串。原始字符串用來替代轉(zhuǎn)義符表示的特殊字符,在原字符串的第一個引號前加上字母
r(R),與普通字符串操作相同。print(r”\n”)等價于print(“\\n”)結(jié)果是:\nb返回二進制字符串,在原字符串的第一個引號前加上字母b,可用于寫二進制文件,例如b"123"。%格式化字符串操作符Python提供了很多用于操作字符串的方法。Python中的字符串3.4操作字符串的方法1.字符串大小寫轉(zhuǎn)換方法方法名功能描述lower()轉(zhuǎn)換字符串中的大寫字符為小寫字符。upper()轉(zhuǎn)換字符串中的小寫字符為大寫字符。capitalize()將字符串的第一個字符轉(zhuǎn)換為大寫。swapcase()英文字符大小寫互換。2.字符串的查找替換方法方法名功能描述find(str[,strt[,end]])檢測str是否包含在字符串或指定范圍(start和end)中,在返回str索引,否則返回-1。index(str[,strt[,end]])同find()方法。當(dāng)str不在字符串中時,報告異常。rfind(str[,strt[,end]])類似于find()函數(shù),從右側(cè)開始查找。rindex(str[,strt[,end]])類似于index()函數(shù),從右側(cè)開始。replace(old,new[,count])將字符串中的old替換成new,如果指定了count,則替換不超過count次。Python中的字符串3.字符串的判斷方法方法名功能描述isalnum()如果字符串中至少包含有一個字符,并且所有字符都是字母或數(shù)字,返回True,否則返回False。isalpha()如果字符串中至少包含有一個字符,并且所有字符都是字母,返回True,否則返回False。isdigit()如果字符串中只包含數(shù)字,返回True,否則返回False。islower()如果字符串中至少包含一個區(qū)分大小寫的字符,并且所有這些(區(qū)分大小寫的)字符都是小寫,返回True,否則返回False。isnumeric()如果字符串中只包含數(shù)字字符串,返回True,否則返回False。isspace()如果字符串中只包含空白,返回True,否則返回False。isupper()如果字符串中至少包含一個區(qū)分大小寫的字符,并且所有這些(區(qū)分大小寫)字符都是大寫,返回True,否則返回False。isdecimal()如果字符串中只包含十進制字符,返回True,否則返回False。3.4操作字符串的方法Python中的字符串4.字符串頭尾判斷方法方法名功能描述startswith(str[,strt[,end]])檢查字符串是否以str開頭,如果是,返回True,否則返回False,如果指定了start和end值,則在指定范圍內(nèi)檢查。endswith(str[,strt[,end]])檢查字符串是否以str結(jié)束,如果是,返回True,否則返回False,如果指定了start和end值,則在指定范圍內(nèi)檢查。5.字符串的計算方法方法名功能描述len(str)返回字符串長度。max(str)返回字符串中最大的字符。min(str)返回字符串中最小的字符串。count(str[,strt[,end]])返回str在字符串中出現(xiàn)的次數(shù),如果指定了start或者end值,則返回指定范圍內(nèi)str出現(xiàn)的次數(shù)。3.4操作字符串的方法Python中的字符串7.字符串拆分合并函數(shù)方法名功能描述split(sep,num)以seq為分隔符分隔字符串,如果num有指定值,則僅截取num個子字符串。join(seq)以指定字符串作為分隔符,將seq中所有的元素合并成為一個新的字符串。8.刪除字符串中的空格函數(shù)方法名功能描述lstrip()刪除字符串左邊空格。rstrip()刪除字符串末尾空格。strip([chars])在字符串上執(zhí)行l(wèi)strip函數(shù)和rstrip()函數(shù)。6.字符串的對齊方法方法名功能描述center(width,fillchar)返回一個指定的寬度width居中的字符串,fillchar為填充的字符,默認(rèn)為空格。ljust(width[,fillchar])返回一個左對齊的字符串,并使用fillchar填充至長度width,fillchar默認(rèn)為空格。rjust(width[,fillchar])返回一個右對齊的字符串,并使用fillchar填充至長度width,fillchar默認(rèn)為空格。3.4操作字符串的方法以下關(guān)于Python字符編碼的描述中,錯誤的是______。print(chr(65))輸出Achr(x)和ord(x)函數(shù)用于在單字符和Unicode編碼值之間進行轉(zhuǎn)換Python字符編碼使用ASCII編碼print(ord('a'))輸出97ABCD單選題Python中的字符串3.5輸入/輸出語句IPO程序設(shè)計模式:輸入數(shù)據(jù)處理數(shù)據(jù)輸出數(shù)據(jù)輸入數(shù)據(jù)的來源:從控制臺交互式輸入;使用圖形用戶界面輸入;從文件或網(wǎng)絡(luò)讀??;其他程序運行結(jié)果得到的數(shù)據(jù)輸出數(shù)據(jù)的方式:控制臺輸出;圖形輸出;文件或網(wǎng)絡(luò)輸出等輸入語句3.5.1varname=input("promptMessage")varname是返回的字符串?dāng)?shù)據(jù)。promptMessage是提示信息,該參數(shù)可以省略。如果要得到整數(shù)或小數(shù),可以使用eval()函數(shù)得到表達(dá)式的值,也可以用int()或float()函數(shù)轉(zhuǎn)換。Python中的字符串3.5輸入/輸出語句輸出語句3.5.2print([objl,…][,sep=''][,end='\n'][,file=sys.stdout])
所有參數(shù)均可省略,如果沒有參數(shù),print()函數(shù)輸出一個空行。同時輸出一個或多個對象,默認(rèn)用逗號分隔。sep參數(shù)指定輸出分隔符用end參數(shù)指定輸出結(jié)尾符號,默認(rèn)是回車換行符號使用file參數(shù)指定輸出到特定文件。與AI工具交流的過程中,向AI大模型提出的問題被稱為指令,也稱為提示詞。用戶向AI工具提供數(shù)據(jù),為便于區(qū)分用戶的指令和數(shù)據(jù),可以用“###”或“"""”(三引號)將數(shù)據(jù)括起來。在向AI大模型提問時,因為每次的回答都是動態(tài)生成的,回答的結(jié)果也是有區(qū)別的。Python中的字符串3.6向AI工具提供數(shù)據(jù)應(yīng)用USER:請從下面描述中,提取3個出現(xiàn)頻率最高的單詞,列出詞語即可,不需要生成詞云圖。USER:請從下面描述中,提取3個出現(xiàn)頻率最高的單詞,列出詞語和出現(xiàn)次數(shù)即可,不需要生成詞云圖。USER:編寫Python程序,請從下面描述中,提取3個出現(xiàn)頻率最高的單詞,列出詞語和出現(xiàn)次數(shù)即可。知識點向DeepSeek提問Python程序的流程4.1程序設(shè)計流程流程圖是一種傳統(tǒng)的、應(yīng)用廣泛的程序設(shè)計表示工具,也稱程序框圖。程序流程圖表達(dá)直觀、清晰,易于學(xué)習(xí)和掌握,獨立于任何一種程序設(shè)計語言。程序流程圖的基本元素:程序流程圖4.1.1控制流處理框判斷框起始框Python程序的流程4.1程序設(shè)計流程順序結(jié)構(gòu)是語句按照書寫的順序依次執(zhí)行。分支結(jié)構(gòu)又稱為選擇結(jié)構(gòu),根據(jù)計算所得的表達(dá)式的值來判斷應(yīng)選擇執(zhí)行哪一個流程的分支。循環(huán)結(jié)構(gòu)則是在一定條件下反復(fù)執(zhí)行一段語句的流程結(jié)構(gòu)。結(jié)構(gòu)化程序設(shè)計的基本流程4.1.2順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)Python程序的流程4.1程序設(shè)計流程問題:輸入任意半徑值,求其對應(yīng)圓的面積,并顯示。順序結(jié)構(gòu)程序設(shè)計實例4.1.3開始輸入半徑計算面積顯示面積結(jié)束算法:1.輸入圓的半徑。2.計算圓的面積3.顯示圓的面積
r=eval(input(“請輸入圓的半徑:”))s=3.14*r*rprint(“圓的面積是:”,s)Python程序的流程4.2分支結(jié)構(gòu)1.簡單分支結(jié)構(gòu):if語句………….if<boolCondition>:<statements>………….開始語句塊結(jié)束判斷條件真假鍵盤輸入數(shù)字5,以下代碼的輸出結(jié)果是______。n=eval(input("請輸入一個整數(shù):"))s=0ifn>=5:n-=1s=4ifn<5:n-=1s=3print(s)0423ABCD單選題Python程序的流程4.2分支結(jié)構(gòu)2.選擇分支結(jié)構(gòu):if-else語句…………if<boolCondition>:<statements1>else:<statements2>…………開始語句塊1結(jié)束判斷條件真假語句塊2Python程序的流程4.2分支結(jié)構(gòu)3.多分支結(jié)構(gòu):if-elif-else………….if<boolCondition1>:<statements1>elif<boolCondition2>:<statements2>……else:<statementsn>…………Python程序的流程4.2分支結(jié)構(gòu)4.分支的嵌套是指分支中還存在分支的情況,即if語句中還包含著if語句。Python程序的流程4.2分支結(jié)構(gòu)5.條件表達(dá)式條件表達(dá)式(也稱為三元操作符),可以用一條語句完成程序的選擇分支結(jié)構(gòu)。value1if<boolCondition>elsevalue2boolCondition是條件表達(dá)式,計算boolcondition的值,若為True,則整個表達(dá)式的結(jié)果是
value1;若為False,則結(jié)果是value2#ex0404.pyage=20message="成年"ifage>18else"未成年"print(message)以下程序的輸出結(jié)果是______。x=10y=0if(x>5)or(x/y>5):print('Right')else:print('Wrong')報錯:ZeroDivisionError不報錯,但不輸出任何結(jié)果WrongRightABCD單選題Python程序的流程4.3循環(huán)結(jié)構(gòu)遍歷循環(huán):for語句4.3.11.For循環(huán)結(jié)構(gòu)2.range()函數(shù)………for<var>in<seq>:<statements>……….有限次遍歷:foriinrange(n):#n為遍歷次數(shù)range(start,stop[,step])start:計數(shù)從start開始。默認(rèn)是從0開始。stop:計數(shù)到stop結(jié)束,但不包括stop。step:步長,默認(rèn)為1。開始語句塊結(jié)束系列中的元素有下一個元素系列中無元素以下程序的輸出結(jié)果是______。s=2foriinrange(1,10):s+=iprint(s)55574745ABCD單選題Python程序的流程4.3循環(huán)結(jié)構(gòu)條件循環(huán):while語句4.3.2條件循環(huán):while語句……….while<boolCondition>:<statements>………..開始語句塊結(jié)束判斷條件真假Python程序的流程4.3循環(huán)結(jié)構(gòu)循環(huán)的嵌套4.3.3無論是for循環(huán)還是while循環(huán),其中都可以再包括循環(huán),從而構(gòu)成了循環(huán)的嵌套。Python程序的流程4.4流程控制的其他語句跳轉(zhuǎn)語句4.4.11.break語句break語句的作用是從循環(huán)體內(nèi)部跳出,即結(jié)束循環(huán)。也稱斷路語句,中斷循環(huán),不再執(zhí)行循環(huán)體。以下代碼的輸出結(jié)果是______。foriinrange(1,6):ifi%4==0:breakelse:print(i,end=",")1,2,3,5,1,2,3,4,
1,2,31,2,3,ABCD單選題Python程序的流程4.4流程控制的其他語句跳轉(zhuǎn)語句4.4.12.continue語句continue語句必須用于循環(huán)結(jié)構(gòu)中,作用是終止本輪循環(huán),跳過本輪剩余的語句,直接進入下一輪循環(huán),也稱短路語句,只對本次循環(huán)短路,并不終止整個循環(huán)。Python程序的流程4.4流程控制的其他語句pass語句4.4.2Pass語句是空語句,是為了保持程序結(jié)構(gòu)完整性設(shè)計的。Pass語句是占位語句。循環(huán)結(jié)構(gòu)中的else語句4.4.3Python程序的流程4.5流程控制語句的應(yīng)用1.使用蒙特卡羅方法計算圓周率繪制一個圓及其外接正方形,假設(shè)圓的半徑是1,那么圓的面積是π,外接正方形的面積是4。隨機產(chǎn)生正方形內(nèi)的一個點,該點落在圓內(nèi)的概率是:圓面積/正方形面積,即π/4.編程在正方形內(nèi)隨機產(chǎn)生10000個點,落在圓內(nèi)點的數(shù)量用n表示。n的值10000×π/4。π的值為4×n/10000。判斷點(x,y)落在圓內(nèi)的公式是x2+y2<=1。產(chǎn)生隨機數(shù)使用了random模塊中的random()函數(shù)。importrandom
NUMBER=100000n=0foriinrange(NUMBER):x=random.random()*2-1y=random.random()*2-1if((x*x+y*y)<=1):n+=1pi=4.0*n/NUMBERprint(f"使用蒙特卡羅方法計算圓周率的值是:{pi}")Python程序的流程4.5流程控制語句的應(yīng)用2.使用萊布尼茨公式計算圓周率萊布尼茨公式可以表示為:π=4×(1?1/3+1/5-1/7+…+1/(2n-1)公式中的每一項的分母數(shù)值相差為2,正負(fù)符號交替出現(xiàn),且每一項的絕對值逐漸減小。為了使用萊布尼茨公式計算π的近似值,可以取級數(shù)的前n項進行求和。因為循環(huán)次數(shù)不確定,使用while循環(huán)是較好的選擇。為了得到較為精確的π值,取最后一項的絕對值小于1e-6為止.pi4,i=0,1#設(shè)定初值sign=1#用于改變符號while1/i>=1e-6:#最末項>=1e6時執(zhí)行循環(huán)pi4=pi4+sign*1/isign=-sign#改變符號i+=2#計算結(jié)果乘以4,得到圓周率值print(f"使用萊布尼茨方法計算圓周率的值是:{pi4*4}")Python程序的流程4.6利用AI工具解決編程中的問題(2)可以利用AI來學(xué)習(xí)一些我們不知道的問題,例如,Python新版本中增加的內(nèi)容,不了解的函數(shù)或關(guān)鍵字。利用DeepSeek解釋Python3.10后增加的match語句的功能。USER:解釋Python3.10后增加的match語句的功能。AI:Python的match語句是Python3.10及以上版本中引入的一個新特性,它提供了一種更簡潔、更易于閱讀的方式來處理不同的值或條件。match語句類似于其他編程語言中的switch語句,但提供了更豐富的模式和條件處理能力知識點應(yīng)用向DeepSeek提問Python的組合數(shù)據(jù)類型5.1序列類型Python的組合數(shù)據(jù)類型5.1序列類型序列類型的常用操作符操作符或方法功能描述xins如果x是s的元素返回True,否則返回
False。xnotins如果x不是s的元素返回True,否則返回
False。s+t返回s和t的連接。s*n將序列s復(fù)制n次。s[i]索引,返回序列的第i個元素。s[i:j]分片,返回包含序列s第i到j(luò)個元素的子序列(不包含第j個元素)。s[i:j:k]返回包含序列s第i到j(luò)個元素以k為步長的子序列。len(s)返回序列s的元素個數(shù)(長度)。min(s)返回序列s中的最小元素。max(s)返回序列s中的最大元素。s.index(x[,i[,j]])序列s中從i開始到j(luò)位置中第一次出現(xiàn)元素x的位置。s.count(x)序列s中出現(xiàn)x的總次數(shù)。lst=[1,2,3,4,5]列表作為一種序列類型,使用序列的常用操作符可以完成列表的切片、檢索、計數(shù)等基本操作。列表的基本操作5.2.15.2列表Python的組合數(shù)據(jù)類型列表的方法5.2.2操作符或方法功能描述ls[i]=x將列表ls的第i項元素替換為x。ls[i:j]=lst用列表lst替換列表ls中第i到第j項元素(不含第j項)。ls[i:j:k]=lst用列表lst替換列表ls中第i到第j項以k為步長的元素(不含第j項)。dells[i:j]刪除列表ls第i到第j項元素。dells[i:j:k]刪除列表ls第i到第j項以k為步長的元素。ls+=lst或ls.extend(lst)將列表lst元素追加到列表ls中。ls*=n更新列表ls,其元素重復(fù)n次。ls.append(x)在列表ls最后增加一個元素x。ls.clear()刪除列表ls中的所有元素。ls.copy()復(fù)制生成一個包括ls中所有元素的新列表。ls.insert(i,x)在列表ls的第i個位置增加元素x。ls.pop(i)返回列表ls中的第i項元素并刪除該元素。ls.remove(x)刪除列表中出現(xiàn)的第一個x元素。ls.reverse(x)反轉(zhuǎn)列表ls中的元素。ls.sort()排序列表ls中的元素。遍歷列表可以逐個處理列表中的元素,通常使用for循環(huán)和while循環(huán)來實現(xiàn)。遍歷列表5.2.35.2列表Python的組合數(shù)據(jù)類型以下代碼的輸出結(jié)果是______。ls=['book',23,[2010,'stud1'],20]print(ls[2][1][-1])sstud11結(jié)果錯誤ABCD單選題列表推導(dǎo)式可以通過輕量級的循環(huán)簡單快捷地創(chuàng)建列表,語法格式如下。[x表達(dá)式forxin列表if條件表達(dá)式][x,y表達(dá)式forxin列表1foryin列表2if條件表達(dá)式]列表推導(dǎo)式5.2.45.2列表Python的組合數(shù)據(jù)類型1.使用for循環(huán)創(chuàng)建簡單列表創(chuàng)建一個0~10的列表的代碼。>>>alist=[xforxinrange(11)]>>>alist[0,1,2,3,4,5,6,7,8,9,10]2.在循環(huán)中使用if分支來創(chuàng)建列表創(chuàng)建1~10之間偶數(shù)平方的列表的代碼。>>>blist=[x*xforxinrange(11)ifx%2==0]>>>blist[0,4,16,36,64,100]列表推導(dǎo)式可以通過輕量級的循環(huán)簡單快捷地創(chuàng)建列表,語法格式如下。[x表達(dá)式forxin列表if條件表達(dá)式][x,y表達(dá)式forxin列表1foryin列表2if條件表達(dá)式]列表推導(dǎo)式5.2.45.2列表Python的組合數(shù)據(jù)類型3.使用多重for循環(huán)創(chuàng)建列表可以使用多重循環(huán)創(chuàng)建列表。使用二重循環(huán)創(chuàng)建列表的代碼。>>>clist=[(x,y)forxinrange(1,4)foryinrange(10,40,10)]>>>clist[(1,10),(1,20),(1,30),(2,10),(2,20),(2,30),(3,10),(3,20),(3,30)]4.列表推導(dǎo)式中使用內(nèi)置函數(shù)或自定義函數(shù)將列表中的所有字符轉(zhuǎn)換成小寫的代碼。>>>lst=['Spring','Summer','Autumn','Winter']>>>[season.lower()forseasoninlst]['spring','summer','autumn','winter']5.3元組Python的組合數(shù)據(jù)類型元組的基本操作5.3.1tup=(1,2,3,4,5)是包含0個或多個元素的不可變序列類型。任何元素不能替換或刪除創(chuàng)建元組,只要將元組的元素用小括號包圍,并使用逗號隔開即可。例5-7:列表和元組相互轉(zhuǎn)換的函數(shù)是tuple(lst)和list(tup)。例5-85.3.2元組與列表的轉(zhuǎn)換5.3元組Python的組合數(shù)據(jù)類型生成器推導(dǎo)式5.3.3含義:生成器推導(dǎo)式與列表推導(dǎo)式類似,但生成器推導(dǎo)式使用小括號來定義,而列表推導(dǎo)式使用中括號定義。與列表推導(dǎo)式不同,生成器推導(dǎo)式的結(jié)果是一個生成器對象,不是列表,也不是元組。場景:使用列表推導(dǎo)式會創(chuàng)建一個列表。當(dāng)一個列表包含很多個元素時,會占用很大的存儲空間。如果僅需要訪問列表的前幾個元素,這個列表的空間效率是很低的。使用生成器推導(dǎo)式不需要創(chuàng)建完整的列表,可以根據(jù)某種算法邊循環(huán)邊計算來生成元素,對于生成大量可遍歷數(shù)據(jù),生成器推導(dǎo)式非常有效,可以提高程序?qū)?nèi)存的使用效率。用法:使用生成器對象的元素時,可以根據(jù)需要將其轉(zhuǎn)化為列表或元組,也可以使用生成器對象的__next__()方法(Python3.x版本支持)進行遍歷,或者直接將其作為迭代器來使用。但是不管用哪種方法訪問元素,當(dāng)所有元素訪問結(jié)束以后,如果需要重新訪問其中的元素,必須重新創(chuàng)建生成器對象。例5-9:5.3元組Python的組合數(shù)據(jù)類型序列解包5.3.4序列解包是Python編程中非常重要和常用的一個功能,可以用簡潔的方法完成復(fù)雜的功能,增強程序的可讀性并減少代碼量。>>>a,b,c=1,2,3>>>tuple1=(False,3,'test')>>>x,y,z=tuple1>>>x,y,z功能對多個變量同時賦值>>>dicts={'a':1,'b':2,'c':3}>>>v1,v2,v3=dicts>>>x,y,z=dicts.items()>>>x,y,z=dicts.values()功能應(yīng)用于字典操作>>>
lst
=
['a',
'b',
'c']>>>
for
i,
v
in
enumerate(lst):
print(i,v)
>>>print(*[1,2,3,4],4,*(5,6))>>>*range(4),4>>>{*range(4),4,(5,6,7,8,9)}>>>{*range(4),4,*(5,6,7,8,9)}
功能使用enumerate()函數(shù)5.4字典Python的組合數(shù)據(jù)類型字典的基本操作5.4.11.創(chuàng)建字典字典由“{}”定義,鍵和值用冒號分開,元素之間用逗號分隔。dict={"one":1,"two":2,"three":3}字典是內(nèi)置的映射類型,由key-value的鍵值對組成。搜索字典時先查找鍵,找到鍵后就可直接獲取該鍵對應(yīng)的值。字典中的值無特殊順序,但都存儲在一個特定的鍵(key)里,鍵可以是數(shù)字、字符串以及元組等。2.檢索字典元素
使用in運算符可以測試指定的鍵值是否存在于字典中:
keyindicts
使用表達(dá)式dicts[“key”],返回key對應(yīng)的值。3.添加與修改字典元素向字典中添加新的鍵值對,或修改鍵所關(guān)聯(lián)的值用:
dicts[key]=value5.4字典Python的組合數(shù)據(jù)類型1.keys()、values()、items()方法2.get()、pop()、popitem()方法3.copy()、update()方法5.4.2字典的常用方法方法功能描述dicts.keys()返回所有的鍵信息。dicts.values()返回所有的值信息。dicts.items()返回所有的鍵值對。dicts.get(key,defualt)鍵存在則返回相應(yīng)值,否則返回默認(rèn)值。dicts.pop(key,default)鍵存在則返回相應(yīng)值,同時刪除鍵值對,否則返回默認(rèn)值。dicts.popitem()刪除字典中取出最后一個鍵值對,以元組(key,value)的形式返回。dicts.clear()刪除所有的鍵值對。deldicts[key]刪除字典中的某個鍵值對。keyindicts如果鍵在字典中則返回True,否則返回False。dicts.copy()復(fù)制字典。dicts.update(dicts2)更新字典,參數(shù)dict2為更新的字典。以下代碼的輸出結(jié)果是______。d={'food':{'cake':1,'egg':5}}print(d.get('cake','nothisfood'))egg1foodnothisfoodABCD單選題5.5集合Python的組合數(shù)據(jù)類型集合是0個或多個元素的無序組合。集合是可變的。集合中元素只能是基本數(shù)據(jù)類型。集合中的元素沒有重復(fù)的。集合與字典有相似,但只有鍵,沒有值。1.創(chuàng)建集合
用set()函數(shù)創(chuàng)建結(jié)合。myset={1,2,3,4,5}2.集合的常用操作5.5.1集合的基本操作方法功能描述S.add(x)添加元素。如元素x不在集合S中,將x增加到S中。S.clear()清除元素。移除S中的所有元素。S.copy()復(fù)制集合。返回集合S中的一個副本。S.pop()隨機刪除集合S中的一個元素。S為空時產(chǎn)生KeyError異常。S.discard(x)如果x在集合S中,移除該元素;x不存在時,不報異常。S.remove(x)如果x在集合S中,移除該元素;x不存在時,會產(chǎn)生KeyError異常。S.isdisjoint(T)判斷集合中是否存在相同元素。如果集合S與T沒有相同元素,則返回True。len(S)返回集合S的元素個數(shù)。5.5集合Python的組合數(shù)據(jù)類型5.5.2集合運算操作符或方法功能描述S&T或S.intersaction(T)交集,返回一個新集合,包括同時存在于集合S和T中元素。S|T或S.union(T)并集,返回一個新集合,包括集合S和T中的所有元素。S-T或S.difference(T)差集,返回一個新集合,包括在結(jié)合S中,但不在集合T中的元素。S^T或s.symmetric_difference_update(T)補集,返回一個新集合,包括集合S和T中的元素,但不包括同時在其中的元素。S<=T或S.issubset(T)子集測試,如S與T相同或S是T的子集,返回True,否則返回False。可以用S<T判斷S是否為T的真子集。S>=T或S.issuperset(T)超集測試,如S與T相同或S是T的超集,返回True,否則返回False??梢杂肧>T判斷S是否為T的真超集。5.6組合數(shù)據(jù)類型的應(yīng)用Python的組合數(shù)據(jù)類型1.成績統(tǒng)計分析的實現(xiàn)功能說明:有若干名學(xué)生的Python課程成績分別為88,92,78,92,85,55,91,72,85,95等,利用列表分析成績,輸出平均值、最高的3個成績和最低的3個成績、成績的中位數(shù)。實現(xiàn)思路:(1)將成績保存在列表scores中,使用代碼sum(scores)/len(scores)計算平均值,使用代碼sorted(scores,reverse=True)[:3]找出最高的3個成績,使用代碼sorted(scores)[:3]找出最低的3個成績。(2)計算中位數(shù)時需要先排序,列表元素個數(shù)為奇數(shù)時,中位數(shù)即排序后列表中間的數(shù)字;元素個數(shù)為偶數(shù)時,中位數(shù)為中間兩個數(shù)字的算術(shù)平均數(shù)。原列表順序不需要保留,可以使用列表的sort()方法進行排序。例5-225.6組合數(shù)據(jù)類型的應(yīng)用Python的組合數(shù)據(jù)類型2.英文句子中的詞頻統(tǒng)計(1)用replace()方法將標(biāo)點換為空格。(2)用split()函數(shù)拆分,生成單詞列表。(3)定義一個空字典map1.(4)逐個讀列表中單詞,重復(fù)下面操作:若字典的key值中沒有這個單詞,word=0,向字典中添加元素,鍵是這個單詞,值是1;若字典的key值中有這個單詞,word+1。(5)字典轉(zhuǎn)換為列表后,排序,輸出。Key:Value:map1isbetterthanuglyExplicitimplict111111222Beautiful1words=[]5.6組合數(shù)據(jù)類型的應(yīng)用Python的組合數(shù)據(jù)類型3.二分查找的實現(xiàn)二分查找算法:(1)使用列表的sort()函數(shù)對數(shù)據(jù)排序。(2)輸入要查找的數(shù)據(jù)key,元素初始位置low=0;元素最后位置high=len(list1)-1;f=false。(3)計算中間元素位置。用數(shù)值key與中間位置的數(shù)據(jù)比較,若相等,則找到,f=True,查找結(jié)束;否則,將key值與中間數(shù)據(jù)比較,如果小于中間數(shù)據(jù),在左邊的數(shù)據(jù)區(qū)重復(fù)二分查找;如果key大于中間數(shù)據(jù),在右邊的數(shù)據(jù)區(qū)重復(fù)二分查找。重復(fù)過程(3)。(4)若f=True,表示查找成功,顯示該數(shù)據(jù)在列表中位置,否則顯示”無此數(shù)據(jù)”。1423-789-105-10-71358942Key=8mid=int((low+high)/2)lowlow=0high=len(list1)-1f=Falselow=mid+1high=mid-1Key=8f=Truemidlowmidhigh5.7利用AI工具輔助解讀代碼Python的組合數(shù)據(jù)類型有時我們會用搜索引擎或AI工具查找一些代碼來使用,但可能由于不了解查找的代碼,無法讀懂也無從修改,AI工具能解讀代碼,我們可以根據(jù)提示來修改代碼。USER:請解釋下面這段Python代碼的功能。###importbisectdefbinary_search(a,x):i=bisect.bisect_left(a,x)ifi!=len(a)anda[i]==x:returni#找到元素,返回索引
return-1#未找到元素
#示例a=[1,2,4,4,5,6,7]x=4print(binary_search(a,x))x=3print(binary_search(a,x))###知識點應(yīng)用向DeepSeek提問deffuncname(paras):statementsreturn[expression]
以def開頭,后接函數(shù)名和圓括號,以冒號結(jié)束。paras是形式參數(shù),形參間用逗號分隔。statements是函數(shù)體,函數(shù)體要縮進。return語句用于結(jié)束函數(shù),將返回值傳遞給調(diào)用語句。不帶表達(dá)式的return返回None值。
例6-1:用函數(shù)實現(xiàn)代碼復(fù)用6.1函數(shù)的定義和調(diào)用函數(shù)的定義通過函數(shù)名加上一組圓括號來調(diào)用函數(shù),圓括號內(nèi)是實際參數(shù),多個實參之間用逗號分隔。def是可執(zhí)行語句,函數(shù)的調(diào)用必須在函數(shù)定義之后。>>>defcirclearea(r):
s=3.14*r*r
returns>>>print(“圓面積是:”,circlearea(3))圓面積是:
28.2615例6-2:函數(shù)的調(diào)用6.1.16.1.2模塊化程序設(shè)計是指把一個完整的程序分解為若干相對獨立、功能單一的模塊,再定義不同的函數(shù)來實現(xiàn),通過函數(shù)調(diào)用來實現(xiàn)整體功能。函數(shù)的調(diào)用可以使程序代碼邏輯更加清晰。用函數(shù)實現(xiàn)代碼復(fù)用6.1函數(shù)的定義和調(diào)用模塊化程序設(shè)計6.1.3下面的程序體現(xiàn)了模塊化程序設(shè)計思想。defmain():print("輸入數(shù)據(jù)")userinput()print("處理數(shù)據(jù)")userprocessing()print("輸出數(shù)據(jù)")useroutput()defuserinput():passdefuserprocessing():passdefuseroutput():
passmain()定義函數(shù)時的參數(shù)為形參,調(diào)用函數(shù)時的參數(shù)為實參。調(diào)用函數(shù)的過程就是將實參傳遞給形參的過程。1.位置參數(shù):實參按照位置順序傳遞給形參。2.賦值參數(shù):按照形參名稱輸入實參。3.參數(shù)值的類型:實參的類型是基本數(shù)據(jù)類型還是組合類型,類型不同,調(diào)用函數(shù)后,
參數(shù)值的變化不同。定義函數(shù)時給出函數(shù)形參的默認(rèn)值,當(dāng)調(diào)用函數(shù)時可以忽略該實參。若默認(rèn)參數(shù)沒傳入新值,則直接使用形參的默認(rèn)值。若默認(rèn)參數(shù)傳入新值,則使用傳入的實參新值。用函數(shù)實現(xiàn)代碼復(fù)用6.2函數(shù)的參數(shù)與傳遞函數(shù)的參數(shù)6.2.1默認(rèn)參數(shù)6.2.2定義函數(shù)時,該函數(shù)可以接受任意個數(shù)的參數(shù)(1個,多個或0個),可變參數(shù)有2種形式:參數(shù)名稱前加*參數(shù)名稱前加**deffunname(formal_argas,*args,**kwargs):
statements
returnexpression調(diào)用函數(shù)時,如果傳入?yún)?shù)個數(shù)與formal_argas參數(shù)個數(shù)相同,可變參數(shù)返回空的元組或字典;如果傳入?yún)?shù)個數(shù)比formal_argas參數(shù)個數(shù)多,又分2種情況:若傳入?yún)?shù)沒有指定名稱,則*args以元組形式存放這些多余參數(shù);若傳入?yún)?shù)指定了名稱,則**kwargs以字典形式存放這些被命名參數(shù)。
用函數(shù)實現(xiàn)代碼復(fù)用6.2函數(shù)的參數(shù)與傳遞可變參數(shù)6.2.3Return[expression]將表達(dá)式值作為返回值傳遞給調(diào)用方。返回值可以是任何類型。不帶參數(shù)值的return語句返回None。用函數(shù)實現(xiàn)代碼復(fù)用6.2函數(shù)的返回值與lambda函數(shù)函數(shù)的返回值6.2.4Return[expression]將表達(dá)式值作為返回值傳遞給調(diào)用方。返回值可以是任何類型。不帶參數(shù)值的return語句返回None。用函數(shù)實現(xiàn)代碼復(fù)用6.2函數(shù)的返回值與lambda函數(shù)函數(shù)的返回值6.2.4
例:統(tǒng)計字符串中含有'e'的單詞。deffindwords(sentence):result=[]words=sentence.split()forwordinwords:ifword.find("e")!=-1:result.append(word)returnresultss="ThePeoplearetheCountry,putthepeopleFirst"print(findwords(ss))函數(shù)findWords()的參數(shù)是字符串,在函數(shù)體中定義了一個空列表result,然后對參數(shù)字符串進行了拆分;生成的單詞列表保存在變量words中,接著遍歷words列表,將其中包含字符e的單詞添加到列表result中,并將列表result作為函數(shù)的返回值返回。用函數(shù)實現(xiàn)代碼復(fù)用6.2函數(shù)的返回值與lambda函數(shù)Lambda函數(shù)是匿名函數(shù),是一個lambda表達(dá)式,不需def關(guān)鍵字定義。
lambdaparameters:expressionLambda函數(shù)的應(yīng)用場景是定義簡單的、能在一行內(nèi)表示的函數(shù),返回一個函數(shù)類型。Python提供了很多函數(shù)式編程的工具,例如map、reduce、filter、sorted等函數(shù)都支持函數(shù)作為參數(shù),lambda函數(shù)也可以很方便地應(yīng)用在函數(shù)式編程中Lambda函數(shù)6.2.5例:應(yīng)用lambda函數(shù),將列表中的元素按照絕對值大小升序排列。>>>lst1=[3,5,-4,-1,0,-2,-6]>>>lst2=sorted(lst1,key=lambdax:abs(x))>>>type(lst2)<class'list'>>>>lst2[0,-1,-2,3,-4,5,-6]以下代碼的輸出結(jié)果是______。deffunc(a,b):a*=breturnas=func(5,2)print(s)5102025ABCD單選題以下程序的輸出結(jié)果是______。s=0deffun(s,n):foriinrange(n):s+=iprint(fun(s,5))
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)員工培訓(xùn)與技能發(fā)展目標(biāo)路徑職業(yè)制度
- 企業(yè)內(nèi)部保密責(zé)任制度
- 2026湖北武漢市文旅資本控股有限公司招聘1人備考題庫附答案
- 2026湖南張家界中共桑植縣委組織部調(diào)工作人員2人招聘參考題庫附答案
- 2026福建漳州開發(fā)區(qū)育才實驗小學(xué)招聘4人參考題庫附答案
- 會議經(jīng)費使用與審計監(jiān)督制度
- 2026貴州安順市集圣中學(xué)教師招聘、學(xué)生成長中心干事招聘參考題庫附答案
- 公共交通車輛駕駛?cè)藛T培訓(xùn)考核制度
- 2026陜西西安鄠邑區(qū)戶縣海絲村鎮(zhèn)銀行高校見習(xí)生招聘參考題庫附答案
- 三臺縣2025年縣級事業(yè)單位面向縣內(nèi)鄉(xiāng)鎮(zhèn)公開選調(diào)工作人員(16人)備考題庫附答案
- 污水管網(wǎng)監(jiān)理規(guī)劃
- GB/T 35273-2020信息安全技術(shù)個人信息安全規(guī)范
- 2023年杭州臨平環(huán)境科技有限公司招聘筆試題庫及答案解析
- 《看圖猜成語》課件
- LF爐機械設(shè)備安裝施工方案
- 企業(yè)三級安全生產(chǎn)標(biāo)準(zhǔn)化評定表(新版)
- 耐壓測試儀點檢記錄表
- 梅州市梅江區(qū)村級資金財務(wù)管理制度(試行)
- GB∕T 37127-2018 混凝土結(jié)構(gòu)工程用錨固膠
- 胸腺瘤與重癥肌無力手術(shù)治療課件
- 2020年土壤及地下水自行監(jiān)測方案
評論
0/150
提交評論