




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
項目三
循環結構textbook教材Python程序設計項目化教程孫海洋
編著
電子工業出版社ISBN:9787121477546Contents目錄01.抓娃娃游戲—while循環02.猜數字謎游戲—循環流程控制04.項目小結03.模擬發紅包程序—for循環、列表PartOne
任務一抓娃娃游戲—while循環while循環結構【任務描述】抓娃娃游戲玩一局需要3元錢,根據充值卡中的金額判斷還能玩幾局。【任務分析】當(while)充值卡中的余額(balance)大于等于3元時,游戲一直進行(重復),同時每次支付3元,即balance-=3,直到balance小于3元時,游戲終止。while語句語法格式如下:執行流程:首先判斷循環控制表達式Exp_cntrl的值,當該表達式的值為邏輯真(True)時,會一直執行循環體(語句組A),直到表達式的值為邏輯假(False)時,結束循環體執行。流程圖如下:循環控制變量任務實施運行結果如下:參考代碼如下:鞏固案例【案例1】輸入任意一個十進制正整數,將其“反序”后輸出(若輸入:1234,則輸出:4321)把原數從最低位到最高位逐位分離→按照分離出的順序,用分離出的數字組成新的十進制整數逐步分離出當前n的最低位數字m為新數字,將剛分離的t作為低位,完成倒序去除已分離的低位,為下次分離做準備鞏固案例【案例2】計算并輸出1-3+5-7+…-99的值。符號位:每執行一次sign就變成原來的相反數數值位:實現奇數累加當前數據項:組建當前的數據保存在item中求和變量:將每一輪得出的數據累加到s中PartTwo任務二猜數字謎游戲—循環流程控制【任務描述】設計一個猜數字游戲,隨機生成1到100之間的一個整數,玩家總共有5次機會,每次輸入所猜數字,程序給出相應的提示信息(“再大一點”、“再小一點”或“$恭喜您猜中了$”),如果猜中了,提示“$恭喜您猜中了$”,“總共猜了*次”,游戲結束,否則游戲繼續;總共有5次機會,若均沒猜中,則提示“很遺憾,今天運氣不好!”并退出循環。任務描述【任務分析】該任務涉及循環結構,所以讓我們一起來學習一下break、continue以及while-else語句吧!break語句break語句語法格式執行流程在循環體中,當執行到break語句時,終止break所在層的循環,即“循環體內break后的語句組”部分將不再被執行,程序執行流程從“循環結構后的語句組”處,繼續往后執行。break語句【示例1】分析以下程序,輸出其運行結果。因為n<5,所以n的取值為0,1,2,3,4,執行5次后循環結構正常終止。但當n==4時,滿足條件,執行下面一行語句,然后執行break語句。在單層循環中,當執行到break時,立刻終止執行整個循環結構,直接跳出整個while語句,執行倒數第二行語句。continue語句語法格式執行流程在循環體中,當執行到continue語句時,本次循環體的執行流程將跳過“循環體內continue后的語句組”,繼續執行“循環判斷表達式”,即提前進入下一次的循環準備工作。continue語句continue語句【示例】分析以下程序,輸出其運行結果。如果n==
4,先執行下面一行語句,然后執行continue語句,然后跳過打印“第4天打卡”這句話,并不結束循環結構,接著判斷n<5是否依然為邏輯真。運行結果如下:while-else語句語法格式執行流程當循環條件表達式Exp_cntrl的邏輯值為假(False),即循環體執行正常結束時,如果含有else部分,則執行一次對應的else部分(語句組B)。如果循環執行非正常結束,則不會執行else部分。while-else循環結構與任務實施else部分可有可無while-else循環結構【示例1】分析以下程序,輸出其運行結果。先執行while循環,循環正常結束后執行else部分,這時整個while-else結構才執行結束,接著執行while-else結構后的部分。運行結果如下:注:若while循環中包含break,則不執行else部分。任務實施1.回到猜字謎游戲,第一步我們需要先導入random模塊,調用randint函數生成1到100之間的隨機整數作為謎底ans。2.輸入第一次所猜數字guess,次數cnt記為1。3.采用while-else循環結構,只要guess!=ans,循環即猜謎游戲就一直進行下去,當guess==ans時,猜中答案,即循環正常停止時,進入并執行else部分語句組(“恭喜您猜中了”)。任務實施運行結果如下:PartThree任務三模擬發紅包程序—for循環、列表【任務描述】輸入發放總金額及發放個數,隨機生成每個紅包的金額,并輸出。任務描述根據上述代碼,我們來逐個分析。首先,我們了解一下列表列表定義格式:列表名=[元素0,元素1,元素2,…,元素n-1]注意:列表的下標從0開始,各個元素可以是相同類型的,也可以是不同類型的,還可以是列表本身(列表嵌套)。range函數(1)僅給出結束位置:range(stop),對象range(0,stop)。該對象返回的序列是:0,1,…,stop-1,即stop為假尾巴,不被包含在其中(2)給出起、止位置:range(start,stop)。返回對象:start,start+1,start+2,…,stop-1。(3)起止及步長:range(start,stop,step)。從start到stop-1的區間內,按步長為step取若干樣點生成序列對象。【注意】:步長為正,表示遞增,start<stop;步長為負,表示遞減,start>stopfor循環結構我們先來了解一下for循環語法格式:可以是字符串、列表、元組等數據類型,也可以是range函數生成的序列對象等。執行流程:循環變量的取值范圍從序列或序列對象的首元素開始,依次取到尾元素,即for循環的執行次數等于“序列”的元素數量。for循環結構習題1:從鍵盤輸入一字符串,把其中的大寫字母變為小寫,小寫字母變為大寫,其他不變,輸出轉換后的字符串。分析:Python中沒有字符類型,單個字符如'a'也被當成字符串處理。遍歷原字符串中的每個子字符串s,然后對每個s進行判斷,做相應的大小寫轉換(轉小寫:str.lower()、轉大寫:str.upper()),并把轉換后的結果鏈接到定義的新字符串后面,循環結束后即為轉換后的字符串。for循環結構參考代碼:運行結果:for循環結構習題2:輸出斐波那契數列的前10項,已知數列的前兩項值為0和1,從第三項開始每一項都等于其相鄰前兩項之和。分析1:定義長度為10的列表ls,下標范圍是從0到9,其中0、1號位置分別為數列前兩項的值0和1,即ls=[0,1]。故只需計算出第3到第10項,并依次存放到列表的2到9號位置。for循環結構分析2:從第3項(i=2號位置)開始的每一項t都等于其相鄰的前兩項ls[i-1]和ls[i-2]之和,即t=ls[i-1]+ls[i-2]。然后調用列表的append方法,把t附加到列表ls的后面,即ls.append(t)。前兩項之和相加,若該位置下標為i,即ls[i]=ls[i-1]+ls[i-2]t參考代碼:運行結果:隨機數模塊random模塊導入:importrandom1.生成隨機浮點數(1)random()生成[0,1)之間的隨機浮點數(2)uniform(m,n)函數生成[m,n)或[m,n]之間的隨機浮點數2.生成隨機整數(1)randint(m,n)生成[m,n]之間的隨機整數【注意】包含起止邊界隨機數模塊random【示例1】生成5個10以內的隨機奇數。randrange(start,stop=None,step=1)類似range返回序列對象中的隨機整數值,不包含“假尾巴”stop,step為步長某次運行結果:參考代碼:隨機數模塊random3.從給定集合中隨機選取元素(1)choice(sequence)從指定非空序列中隨機選取元素4.隨機打亂原序列元素的存儲順序shuffle(x,random=None),返回None(2)sample(sequence,k)抽樣:從指定非空序列中隨機抽取
k個不重復的元素PartFour項目小結知識點回顧知識點示例說明while循環w
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 不同行業保安技術設備比較計劃
- 向學習型組織轉型的路徑計劃
- 2024年貴州省自然資源廳下屬事業單位真題
- 軟件設計師選拔標準2025年試題及答案
- 2024年甘肅省教育廳下屬事業單位真題
- 2025年戰略目標與運營風險的交互影響試題及答案
- 山東省青島十五中學2025屆七年級數學第二學期期末教學質量檢測試題含解析
- 法學概論摸索與前行試題及答案
- 財務風險對公司戰略的影響試題及答案
- 2025屆河南省湯陰縣七下數學期末預測試題含解析
- 螺旋式連續榨汁機的設計說明書
- DB36T 1570-2021花絨寄甲人工繁育技術規程_(高清版)
- 達希納(尼洛替尼)毒副反應及處理
- 數控銑練手圖紙(經典練習圖紙)(共18頁)
- 清產核資報表
- 中班語言活動《傘》
- DOE(實驗設計)與Minitab培訓DOE案例
- QC成果編制方式與要求
- 環氧地坪漆施工方案匯總
- 水泥罐抗傾覆驗算7頁
- 中醫師承學員報名申請表
評論
0/150
提交評論