版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1第3章程序流程控制Python程序中的語句默認(rèn)是按照書寫順序依次被執(zhí)行的,這時(shí)我們說這樣的語句是順序結(jié)構(gòu)的。在順序結(jié)構(gòu)中,各語句是按自上而下的順序執(zhí)行的,執(zhí)行完上一條語句就自動執(zhí)行下一條語句,語句之間的執(zhí)行是不作任何判斷的,無條件的。有時(shí)候我們需要根據(jù)特定的情況,有選擇地執(zhí)行某些語句,這時(shí)我們就需要一種選擇結(jié)構(gòu)的語句。有時(shí)候我們還可以在給定條件下重復(fù)執(zhí)行某些語句,這時(shí)我們稱這些語句是循環(huán)結(jié)構(gòu)的。有了順序、選擇和循環(huán)這三種基本的結(jié)構(gòu),我們就能夠構(gòu)建任意復(fù)雜的程序了。2第3章程序流程控制3.1布爾表達(dá)式3.2選擇結(jié)構(gòu)3.3條件表達(dá)式3.4while循環(huán)結(jié)構(gòu)3.5for循環(huán)結(jié)構(gòu)3.6循環(huán)中的break,continue和else33.1布爾表達(dá)式
選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)都會使用布爾表達(dá)式作為選擇的條件和循環(huán)的條件。布爾表達(dá)式是由關(guān)系運(yùn)算符和邏輯運(yùn)算符按一定語法規(guī)則組成的式子。關(guān)系運(yùn)算符有:<(小于)、<=(小于等于)、==(等于)、>(大于)、>=(大于等于)、!=(不等于)。邏輯運(yùn)算符有:and、or、not。布爾表達(dá)式的值只有兩個(gè),True和False。在Python中False、None、0、“”、()、[]、{}作為布爾表達(dá)式的時(shí)候,會被解釋器看作假(False)。其他的一切都被解釋為真,包括特殊值True。43.1布爾表達(dá)式
True和False屬于布爾數(shù)據(jù)類型(bool),它們都是保留字。一個(gè)布爾變量可以代表True或False值中的一個(gè)。bool函數(shù)可以用來(和list、str以及tuple一樣)轉(zhuǎn)換其他值。>>>type(True)<class'bool'>>>>bool('Practicemakesperfect.')True>>>bool('')False>>>print(bool(4))True53.1布爾表達(dá)式
True和False屬于布爾數(shù)據(jù)類型(bool),它們都是保留字。一個(gè)布爾變量可以代表True或False值中的一個(gè)。bool函數(shù)可以用來(和list、str以及tuple一樣)轉(zhuǎn)換其他值。>>>type(True)<class'bool'>>>>bool('Practicemakesperfect.')True>>>bool('')False>>>print(bool(4))True6第3章程序流程控制3.1布爾表達(dá)式3.2選擇結(jié)構(gòu)3.3條件表達(dá)式3.4while循環(huán)結(jié)構(gòu)3.5for循環(huán)結(jié)構(gòu)3.6循環(huán)中的break,continue和else73.2選擇結(jié)構(gòu)選擇結(jié)構(gòu)通過判斷某些特定條件是否滿足來決定下一步執(zhí)行哪些語句。Python有多種選擇語句類型:單向if語句雙向if-else語句嵌套if語句多向if-elif-else語句條件表達(dá)式83.2.1單向if語句if語句的語句塊只有當(dāng)表達(dá)式的值為真,即非零時(shí),才會執(zhí)行;否則的話,程序就會直接跳過這個(gè)語句塊,去執(zhí)行緊跟在這個(gè)語句塊之后的語句。這里的語句塊,既可以包含多條語句,也可以只有一條語句。當(dāng)語句塊由多條語句組成時(shí),要有統(tǒng)一的縮進(jìn)形式,相對于if向右至少縮進(jìn)一個(gè)空格,否則就會出現(xiàn)邏輯錯(cuò)誤,即語法檢查沒錯(cuò),但是結(jié)果卻非預(yù)期。if語句的語法形式如下所示:if
布爾表達(dá)式
:
語句塊93.2.1單向if語句例2-1.輸入一個(gè)整數(shù),如果這個(gè)數(shù)字大于100,那么就輸出一行字符串;否則,直接退出程序。>>>a=input('請輸入一個(gè)整數(shù):')#取得一個(gè)字符串請輸入一個(gè)整數(shù):123>>>a=int(a)#將字符串轉(zhuǎn)換為整數(shù)>>>ifa>100: print('輸入的整數(shù)%d大于100'%a)
輸入的整數(shù)123大于100103.2.2雙向if-else語句if-else語句是一種雙選結(jié)構(gòu),根據(jù)表達(dá)式是真還是假來決定執(zhí)行那些語句,它選擇的不是做與不做的問題,而是在兩種備選操作中選擇哪一個(gè)操作的問題。if-else語句的語法形式:if布爾表達(dá)式:語句塊1else:語句塊2if-else語句的流程示意圖:從流程示意圖中可以看出:當(dāng)表達(dá)式為真(即表達(dá)式的值為非零)時(shí),執(zhí)行語句塊1;當(dāng)表達(dá)式為假(即表達(dá)式的值為零)時(shí),執(zhí)行語句塊2。113.2.2雙向if-else語句例2-3.編寫一個(gè)兩位數(shù)減法的程序,程序隨機(jī)產(chǎn)生兩個(gè)兩位數(shù),然后向?qū)W生提問這兩個(gè)數(shù)相減的結(jié)果是什么,在回答問題之后,程序會顯示一條信息表明答案是否正確。(2-3.py)importrandomnum1,num2=random.randint(10,100),random.randint(10,100)ifnum1<num2:
num1,num2=num2,num1answer=int(input(str(num1)+'-'+str(num2)+'='+'?'))ifnum1-num2==answer:print('你是正確的!')else:print('你的答案是錯(cuò)誤的.')print(str(num1),'-',str(num2),'=',str(num1-num2))123.2.3嵌套if和多向if-elif-else語句將一個(gè)if語句放在另一個(gè)if語句中就形成了一個(gè)嵌套if語句。如果需要在多組操作中選擇一組執(zhí)行,就會用到多選結(jié)構(gòu),就是if-elif-else語句。該語句可以利用一系列布爾表達(dá)式進(jìn)行檢查,并在某個(gè)表達(dá)式為真的情況下執(zhí)行相應(yīng)的代碼。雖然if-elif-else語句的備選操作較多,但是有且只有一組操作被執(zhí)行,該語句的語法形式如下所示:if表達(dá)式1:語句塊1elif表達(dá)式2:語句塊2……else:語句塊n133.2.3嵌套if和多向if-elif-else語句例2-4.編寫程序利用多分支選擇結(jié)構(gòu)將成績從百分制變換到等級制。(score_degree.py)score=float(input('請輸入一個(gè)分?jǐn)?shù):'))ifscore>=90.0:grade='A'elifscore>=80.0:grade='B'elifscore>=70.0:grade='C'elifscore>=60.0:grade='D'else:grade='F'print(grade)14第3章程序流程控制3.1布爾表達(dá)式3.2選擇結(jié)構(gòu)3.3條件表達(dá)式3.4while循環(huán)結(jié)構(gòu)3.5for循環(huán)結(jié)構(gòu)3.6循環(huán)中的break,continue和else153.3條件表達(dá)式有時(shí)候我們可能想給一個(gè)變量賦值,但又受一些條件的限制。例如下面的語句在x大于0時(shí)將1賦給y,在x小于等于0時(shí)將-1賦給y。>>>x=2>>>ifx>0:y=1else:y=-1>>>print(y)1在Python中,還可以使用條件表達(dá)式y(tǒng)=1ifx>0else-1來獲取同樣的結(jié)果。>>>x=2>>>y=1ifx>0else-1>>>print(y)1163.3條件表達(dá)式條件表達(dá)式的語法結(jié)構(gòu)如下所示:表達(dá)式1if布爾表達(dá)式else表達(dá)式2如果布爾表達(dá)式為真,那么這個(gè)條件表達(dá)式的結(jié)果就是表達(dá)式1;否則,這個(gè)結(jié)果就是表達(dá)式2。若想將變量number1和number2中較大的值賦給max,可以使用下面的條件表達(dá)式簡潔地完成。
max=number1ifnumber1>number2elsenumber217第3章程序流程控制3.1布爾表達(dá)式3.2選擇結(jié)構(gòu)3.3條件表達(dá)式3.4while循環(huán)結(jié)構(gòu)3.5for循環(huán)結(jié)構(gòu)3.6循環(huán)中的break,continue和else183.4while循環(huán)while語句用于在某條件下循環(huán)執(zhí)行某段程序,以處理需要重復(fù)處理的任務(wù)。其基本形式為:while循環(huán)繼續(xù)條件:循環(huán)體循環(huán)體可以是一個(gè)單一的語句或一組具有統(tǒng)一縮進(jìn)的語句。每個(gè)循環(huán)都包含一個(gè)循環(huán)繼續(xù)條件,即控制循環(huán)執(zhí)行的布爾表達(dá)式,每次都計(jì)算該布爾表達(dá)式的值,如果它的計(jì)算結(jié)果為真,則執(zhí)行循環(huán)體;否則,終止整個(gè)循環(huán)并將程序控制權(quán)轉(zhuǎn)移到while循環(huán)后的語句。while循環(huán)是一種條件控制循環(huán),它是根據(jù)一個(gè)條件的真假來控制的。193.4while循環(huán)顯示Pythonisveryfun!一百次的while循環(huán)的流程圖如圖3-2所示。注意:要確保循環(huán)繼續(xù)條件最終變成False以便結(jié)束循環(huán)。編寫循環(huán)程序時(shí),常見的程序設(shè)計(jì)錯(cuò)誤是循環(huán)繼續(xù)條件總是為True,循環(huán)變成無限循環(huán)。203.4while循環(huán)例3-2.求1~100之間能被5整除,但不能同時(shí)被3整除的所有整數(shù)。(3-2.py)問題分析:(1)本題需要對1~100范圍內(nèi)的所有數(shù)一一進(jìn)行判斷。(2)本題的循環(huán)次數(shù)是100次。(3)在每次循環(huán)過程中需要用if語句進(jìn)行條件判斷。本題整除問題的框圖如圖3-3所示:213.4while循環(huán)例3-2.求1~100之間能被5整除,但不能同時(shí)被3整除的所有整數(shù)。(3-2.py)i=1#i既是循環(huán)變量,同時(shí)又是被判斷的數(shù)print("1~100之間能被5整除,但不能同時(shí)被3整除的所有數(shù)是:")whilei<=100:ifi%5==0andi%3!=0:#判斷本次的i是否滿足條件
print(i,end='')#打印滿足條件的ii=i+1#每次循環(huán)i被加13-2.py在IDLE中運(yùn)行的結(jié)果如下:1~100之間能被5整除,但不能同時(shí)被3整除的所有數(shù)是:5102025354050556570808595100223.4while循環(huán)例3-3.打印出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個(gè)三位的十進(jìn)制數(shù),其各位數(shù)字立方和等于該數(shù)本身。問題分析:(1)“水仙花數(shù)”是一個(gè)三位的十進(jìn)制數(shù),因而本題需要對100~999范圍內(nèi)的每個(gè)數(shù)進(jìn)行是否是“水仙花數(shù)”的判斷。(2)每次需要判斷的數(shù)是有規(guī)律的,后一個(gè)數(shù)比前一個(gè)數(shù)多1,這樣在判斷完上一個(gè)數(shù)i后,使i加1就可以得到下一個(gè)數(shù),因而變量i既是循環(huán)變量,同時(shí)也是被判斷的數(shù)。i=100#變量i賦初始值print('所有的水仙花數(shù)是:',end='')whilei<=999:#循環(huán)繼續(xù)的條件c=i%10#獲得個(gè)位數(shù)b=i//10%10#獲得十位數(shù)a=i//100#獲得百位數(shù)
#判斷是否是“水仙花數(shù)”ifa**3+b**3+c**3==i:
print(i,end='')
#打印水仙花數(shù)i=i+1#變量i增加123第3章程序流程控制3.1布爾表達(dá)式3.2選擇結(jié)構(gòu)3.3條件表達(dá)式
3.4while循環(huán)控制策略3.4.1交互式循環(huán)3.4.2哨兵式循環(huán)3.4.3文件式循環(huán)3.5for循環(huán)結(jié)構(gòu)3.6循環(huán)中的break,continue和else243.4循環(huán)控制策略要想編寫一個(gè)能夠正確工作的while循環(huán),需要考慮以下三步:第1步:確認(rèn)需要循環(huán)的循環(huán)體語句,即確定重復(fù)執(zhí)行的語句序列。第2步:把循環(huán)體語句放在循環(huán)內(nèi)。第3步:編寫循環(huán)繼續(xù)條件,并添加合適的語句以控制循環(huán)能在有限步內(nèi)結(jié)束,即能使循環(huán)繼續(xù)條件的值變成False。253.4.1交互式循環(huán)交互式循環(huán)是無限循環(huán)的一種,允許用戶通過交互的方式重復(fù)循環(huán)體的執(zhí)行,直到用戶輸入特定的值結(jié)束循環(huán)。例3-6.編寫小學(xué)生100以內(nèi)加法訓(xùn)練程序,并在學(xué)生結(jié)束測驗(yàn)后能報(bào)告正確答案的個(gè)數(shù)和測驗(yàn)所用的時(shí)間,并能讓用戶自己決定隨時(shí)結(jié)束測驗(yàn)。(3-6.py)importrandomimporttimecorrectCount=0
#記錄正確答對數(shù)count=0#記錄回答的問題數(shù)continueLoop='y'#讓用戶來決定是否繼續(xù)答題startTime=time.time()#記錄開始時(shí)間263.4.1交互式循環(huán)whilecontinueLoop=='y':number1=random.randint(0,50)number2=random.randint(0,50)answer=eval(input(str(number1)+'+'+str(number2)+'='+'?'))ifnumber1+number2==answer:print('你的回答是正確的!')correctCount+=1else:print('你的回答是錯(cuò)誤的.')print(number1,'+',number2,'=',number1+number2)count+=1continueLoop=input('輸入y繼續(xù)答題,輸入n退出答題:')273.4.1交互式循環(huán)endTime=time.time()#記錄結(jié)束時(shí)間testTime=int(endTime-startTime)print("正確率:%.2f%%\n測驗(yàn)用時(shí):%d秒"%((correctCount/count)*100,testTime))3-6.py在IDLE中運(yùn)行的結(jié)果如下:2+36=?38你的回答是正確的!輸入y繼續(xù)答題,輸入n退出答題:y40+47=?87你的回答是正確的!…28第3章程序流程控制3.1布爾表達(dá)式3.2選擇結(jié)構(gòu)3.3條件表達(dá)式3.4while循環(huán)控制策略3.4.1交互式循環(huán)3.4.2哨兵式循環(huán)3.4.3文件式循環(huán)3.5for循環(huán)結(jié)構(gòu)3.6循環(huán)中的break,continue和else293.4.2哨兵式循環(huán)另一個(gè)控制循環(huán)結(jié)束的技術(shù)是指派一個(gè)特殊的輸入值,這個(gè)值稱作哨兵值,它表明輸入的結(jié)束。所謂哨兵式循環(huán)是指執(zhí)行循環(huán)語句直到遇到哨兵值,循環(huán)體語句才終止執(zhí)行的循環(huán)結(jié)構(gòu)設(shè)計(jì)方法。哨兵循環(huán)是求平均數(shù)的較好方案,思路如下:設(shè)定一個(gè)哨兵值作為循環(huán)終止的標(biāo)志任何值都可以做哨兵,但要與實(shí)際數(shù)據(jù)有所區(qū)別303.4.2哨兵式循環(huán)例3-7.計(jì)算不確定人數(shù)的班級平均成績。(StatisticalMeanValue.py)total=0gradeCounter=0#記錄輸入的成績個(gè)數(shù)grade=int(input("輸入一個(gè)成績,若輸入-1結(jié)束成績輸入:"))whilegrade!=-1:total=total+gradegradeCounter=gradeCounter+1grade=int(input("輸入一個(gè)成績,若輸入-1結(jié)束成績輸入:"))ifgradeCounter!=0:average=total/gradeCounterprint("平均分是:%.2f"%(average))else:print('沒有錄入學(xué)生成績')31第3章程序流程控制3.1布爾表達(dá)式3.2選擇結(jié)構(gòu)3.3條件表達(dá)式3.4while循環(huán)控制策略3.4.1交互式循環(huán)3.4.2哨兵式循環(huán)3.4.3文件式循環(huán)3.5for循環(huán)結(jié)構(gòu)3.6循環(huán)中的break,continue和else323.4.3文件式循環(huán)例3-7中,如果要輸入的數(shù)據(jù)很多,那么從鍵盤輸入所有數(shù)據(jù)將是一件非常麻煩的事。我們可以事先將數(shù)據(jù)錄入到文件中,然后將這個(gè)文件作為程序的輸入,避免人工輸入的麻煩。例如,我們可以把數(shù)據(jù)存儲在一個(gè)文本文件(命名為input.txt)里,并使用下面的命令來運(yùn)行這個(gè)程序,可以實(shí)現(xiàn)與人工輸入相同的效果:
pythonStatisticalMeanValue.py<input.txt這個(gè)命令稱作輸入重定向。用戶不再需要程序運(yùn)行時(shí)從鍵盤錄入數(shù)據(jù),而是從文件input.txt中獲取輸入數(shù)據(jù)。同樣地,輸出重定向是把程序運(yùn)行結(jié)果輸出到一個(gè)文件里而不是輸出到屏幕上。輸出重定向的命令為:pythonStatisticalMeanValue.py>output.txt333.4.3文件式循環(huán)同一條命令里可以同時(shí)使用輸入重定向與輸出重定向。例如下面這個(gè)命令從input.txt中讀取輸入數(shù)據(jù),然后把輸出數(shù)據(jù)寫入文件output.txt中。pythonStatisticalMeanValue.py<input.txt>output.txt假設(shè)input.txt這個(gè)文件包含下面的數(shù)字,每行一個(gè):4580909868-1在命令行窗口中,StatisticalMeanValue.py從文件input.txt中獲取輸入數(shù)據(jù)執(zhí)行的結(jié)果:343.4.3文件式循環(huán)例3-7的程序?qū)崿F(xiàn)可改寫為更為簡潔的文件讀取的方式來實(shí)現(xiàn):FileName=input('輸入數(shù)據(jù)所在的文件的文件名:')infile=open(FileName,'r')#打開文件sum=0count=0line=infile.readline()#按行讀取數(shù)據(jù)whileline!='-1':sum=sum+eval(line)count=count+1line=infile.readline()ifcount!=0:average=float(sum)/countprint("平均分是",average)else:print('沒有錄入學(xué)生成績')infile.close()#關(guān)閉文件35第3章程序流程控制3.1布爾表達(dá)式3.2選擇結(jié)構(gòu)3.3條件表達(dá)式
3.4while循環(huán)控制策略3.4.1交互式循環(huán)3.4.2哨兵式循環(huán)3.4.3文件式循環(huán)3.5for循環(huán)結(jié)構(gòu)3.6循環(huán)中的break,continue和else363.5for循環(huán)的基本用法for循環(huán)是一種遍歷型的循環(huán),因?yàn)樗鼤来螌δ硞€(gè)序列中全體元素進(jìn)行遍歷,遍歷完所有元素之后便終止循環(huán)。for循環(huán)的一般格式如下:for控制變量in可遍歷序列:
循環(huán)體這里的關(guān)鍵字in是for循環(huán)的組成部分,而非運(yùn)算符in?!翱杀闅v序列”里保存了多個(gè)元素,且這些元素按照一個(gè)接一個(gè)的方式存儲。“可遍歷序列”被遍歷處理,每次循環(huán)時(shí),都會將“控制變量”設(shè)置為“可遍歷序列”的當(dāng)前元素,然后執(zhí)行循環(huán)體。當(dāng)“可遍歷序列”中的元素被遍歷一遍后,即沒有元素可供遍歷時(shí),退出循環(huán)。373.5for循環(huán)的基本用法for語句的示意圖如下所示:“可遍歷序列”可以是列表、元組、字典、集合、文件,甚至可以是自定義類或者函數(shù)383.5for循環(huán)的基本用法for循環(huán)可用于迭代容器對象中的元素,這些對象可以是列表、元組、字典、集合、文件,甚至可以是自定義類或者函數(shù),例如:(2)作用于元組例3-9.遍歷元組。(3-9.py)test_tuple=[("a",1),("b",2),("c",3),("d",4)]print("準(zhǔn)備遍歷的元組列表:",test_tuple)print('遍歷列表中的每一個(gè)元組:',end='')fori,jintest_tuple:print(i,j,end=';')3-9.py在IDLE中運(yùn)行的結(jié)果如下:準(zhǔn)備遍歷的元組列表:[('a',1),('b',2),('c',3),('d',4)]遍歷列表中的每一個(gè)元組:a1;b2;c3;d4;393.5for循環(huán)的基本用法(3)作用于字符串例3-10.遍歷輸出字符串中的漢字,遇到標(biāo)點(diǎn)符號換行輸出。(3-10.py)importstringstr1="大夢誰先覺?平生我自知,草堂春睡足,窗外日遲遲."foriinstr1:ifinotinstring.punctuation:print(i,end='')else:
print('')3-10.py在IDLE中運(yùn)行的結(jié)果如下:大夢誰先覺平生我自知草堂春睡足窗外日遲遲403.5for循環(huán)的基本用法(4)作用于字典例3-11.遍歷輸出字典元素。(3-11.py)person={'姓名':'李明','年齡':'26','籍貫':'北京'}#item()方法把字典中每對key和value組成一個(gè)元組,并把這些元組放在列表中返回。forkey,valueinperson.items():print('key=',key,',value=',value)#只有一個(gè)控制變量時(shí),返回的是每一對key,value對應(yīng)的元組forxinperson.items():
print(x)forxinperson:#不使用items(),只能取得每一對元素的key值
print(x)3-11.py在IDLE中運(yùn)行的結(jié)果如下:key=姓名,value=李明key=年齡,value=26key=籍貫,value=北京('姓名','李明')('年齡','26')('籍貫','北京')姓名年齡籍貫413.5for循環(huán)的基本用法(5)作用于集合例3-12.遍歷輸出集合元素。(3-12.py)weekdays={'MON','TUE','WED','THU','FRI','SAT','SUN'}#for循環(huán)在遍歷set時(shí),元素的順序和list的順序很可能是不同的fordinweekdays:
print(d,end='')3-12.py在IDLE中運(yùn)行的結(jié)果如下:THUTUEMONFRIWEDSATSUN423.5for循環(huán)的基本用法(6)作用于文件例3-13.for循環(huán)遍歷文件,打印文件的每一行。(3-13.py)文件1.txt存有兩行文字:向晚意不適,驅(qū)車登古原。夕陽無限好,只是近黃昏。fd=open('D:\\Python\\1.txt')forlineinfd:print(line,end='')3-13.py在IDLE中運(yùn)行的結(jié)果如下:========RESTART:D:/Python/3-13.py========向晚意不適,驅(qū)車登古原。夕陽無限好,只是近黃昏。433.5for循環(huán)與range()函數(shù)的結(jié)合使用range()函數(shù)用來生成整數(shù)數(shù)字?jǐn)?shù)列,其語法格式如下:range(start,stop[,step])參數(shù)說明:start:計(jì)數(shù)從start開始。默認(rèn)是從0開始。例如range(5)等價(jià)于range(0,5);end:計(jì)數(shù)到end結(jié)束,但不包括end。例如:range(0,5)是[0,1,2,3,4]沒有5,也就是說range(a,b)函數(shù)返回連續(xù)整數(shù)a、a+1、…、b-2和b-1的序列;step:步長,默認(rèn)為1。例如:range(0,5)等價(jià)于range(0,5,1)。注意:range(5)的返回值類型是range類型,如果想得到一個(gè)列表,使用list(range(5))得到的就是一個(gè)列表[0,1,2,3,4]。如果想得到一個(gè)元組,使用tuple(range(5))得到的就是一個(gè)元組(0,1,2,3,4)。443.5for循環(huán)與range()函數(shù)的結(jié)合使用例3-14.輸出斐波那契數(shù)列的前n項(xiàng)。斐波那契數(shù)列以兔子繁殖為例子而引入,故又稱為“兔子數(shù)列”,指的是這樣一個(gè)數(shù)列:1、1、2、3、5、8、13、21、34、……,可通過遞歸的方法定義:F(1)=1,F(xiàn)(2)=1,F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)。(3-14.py)問題分析:從斐波那契數(shù)列可以看出,從第三項(xiàng)起每一項(xiàng)的數(shù)值都是前兩項(xiàng)(可分別稱為倒數(shù)第二項(xiàng)、倒數(shù)第一項(xiàng))的數(shù)值之和,斐波那契數(shù)列每增加一項(xiàng),對下一個(gè)新的項(xiàng)來說,剛生成的項(xiàng)為倒數(shù)第
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年辦公區(qū)域安全監(jiān)控系統(tǒng)采購合同3篇
- 2024年金融借款協(xié)議規(guī)范格式版B版
- 2024年中國白剛玉球襯市場調(diào)查研究報(bào)告
- 2024年項(xiàng)目資源分配合同3篇
- 2024年電子商務(wù)平臺運(yùn)營與技術(shù)服務(wù)合同
- 2024年度只分紅不占股的股權(quán)激勵(lì)合作協(xié)議3篇
- 2025版節(jié)能環(huán)保型塔吊租賃及維護(hù)服務(wù)合同3篇
- 2025版家用多聯(lián)機(jī)空調(diào)安全操作與保養(yǎng)合同3篇
- 2025版籃球教練員籃球運(yùn)動賽事策劃與運(yùn)營聘用協(xié)議3篇
- 2025版城市公共停車場建設(shè)工程合同范本(含車位租賃管理服務(wù))3篇
- 中國法律史-第二次平時(shí)作業(yè)-國開-參考資料
- (高清版)JTGT D81-2017 公路交通安全設(shè)施設(shè)計(jì)細(xì)則
- 2024新版有兩個(gè)女兒離婚協(xié)議書
- 浙江省寧波市鄞州區(qū)2023-2024學(xué)年九年級上學(xué)期期末語文試題(含答案解析)
- 糖藥物學(xué)智慧樹知到期末考試答案章節(jié)答案2024年中國海洋大學(xué)
- 化工舊設(shè)備拆除施工方案
- 環(huán)酯紅霉素的藥物安全性評價(jià)及其臨床前研究
- 中藥學(xué)專業(yè)畢業(yè)設(shè)計(jì)
- MOOC 大學(xué)生勞動教育-南京大學(xué) 中國大學(xué)慕課答案
- 人教版五年級數(shù)學(xué)上冊期末考試卷
- 鐵路工程綠色設(shè)計(jì)標(biāo)準(zhǔn)
評論
0/150
提交評論