大學Python學習課件第7講-循環結構-for_第1頁
大學Python學習課件第7講-循環結構-for_第2頁
大學Python學習課件第7講-循環結構-for_第3頁
大學Python學習課件第7講-循環結構-for_第4頁
大學Python學習課件第7講-循環結構-for_第5頁
已閱讀5頁,還剩26頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

計算機基礎與應用(II)(經管類)

——計算思維與Python程序設計第7講

循環結構-for上一講回顧While循環的特點While語句之前有一個為循環控制變量賦初值的語句循環體中有表達式來改變循環控制變量的值本講內容for循環語句循環應用舉例continue語句循環體是否還有值未取嗎?for語句Python提供的另一個循環機制是for語句,它提供了Python中最強大的循環結構。Python中的for語句接受可迭代對象(例如序列或迭代器)作為其參數,每次迭代其中的一個元素。for語句的執行過程是:每次循環,判斷循環索引值是否還在序列中,如果在,取出該值提供給循環體內的語句使用;如果不在,則結束循環。for

取值in序列:

循環體循環體是否還有值未取嗎?Else語句塊for變量in序列或迭代器:

循環體else:

else語句塊for循環正常退出后,執行else語句塊;如果是因為執行循環體中的break語句而導致循環退出,else語句塊不會執行。for語句for語句用于序列類型列表、元組、字符串都是序列。序列類型有著相同的訪問模式:它的每一個元素可以通過指定一個偏移量的方式得到;而多個元素可以通過切片操作的方式得到。序列操作可以通過很多內建函數來實現,這些內建函數的實現都離不開循環結構。求序列長度len();求最大值max();最小值min();求和sum();排序sorted()等示例1-通過序列索引進行迭代(方法一)【示例1】創建1個由分數構成的列表,求出所有分數的平均分。方法一:使用Python的內建函數sum()求和,然后再求平均分。程序保存為07_aver1.py示例1-方法1程序思考題如果不用sum函數,如何利用while循環計算列表中的和?程序示例示例1-通過序列索引進行迭代(方法二)方法二:使用for語句,通過序列索引進行迭代。程序保存為07_aver2.py【分析】要求得列表元素的平均值,首先要使用循環結構求得所有元素的總和,然后再將總和除以元素個數即可得到列表元素平均值。示例1-方法2程序說明for循環的表達式中使用內建函數len()獲得score序列長度;使用range()函數創建了要迭代的序列[0,1,2,3,4,5,6,7],變量i對該列進行迭代,每循環一次取出列表中的一項作為列表元素的下標。本題用到成員測試運算符“in”,如果成員在序列中,測試結果為“True”,否則為“False”。range()函數說明內建函數range(),range(start,end,step)range()函數會產生1個包含所有等差數列級數k的列表,k的范圍start<=k<end,k每次遞增step,step不能為0作用:產生一個列表參數含義:start:計數從start開始。默認是從0開始。例如range(5)等價于range(0,

5),結果是[0,1,2,3,4]end:計數到end結束,但不包括end。例如:range(0,

5)的結果是[0,1,2,3,4]沒有5step:每次跳躍的間距,默認為1。例如:range(0,

5)等價于range(0,5,1);Step值可以為負數,如果為負數,則start的值大于end的值示例1-方法2程序示例1-通過序列索引進行迭代(方法三)方法三:使用for語句,通過序列項運算。程序保存為07_aver3.py

循環嵌套循環的嵌套是指在一個循環中又包含另外一個完整的循環,即循環體中又包含循環語句。循環嵌套的執行過程是:一次外循環對應著完整的一輪內循環。while循環和for循環可以相互嵌套。示例2-利用for語句實現雙層循環嵌套【示例2】使用for循環的嵌套結構打印9-9乘法表。程序保存為07_comp.py【分析】9-9乘法表由9行組成,每行的列數有規律地遞增。通過觀察可以看出,表達式“X*Y=Z”中的X是內循環變量j的取值,Y是外循環變量i的取值,Z是X乘以Y的結果。示例2-程序循環應用-示例3求以下表達式的值,其中n值從鍵盤輸入。參考值:當n=11時,s=1.833333。程序保存為07_series.py【分析】以上問題屬于數學中的級數求和問題,是使用循環結構解決的一類常見問題。級數求和編程的重點在于找到表達式的規律,分析每次循環都要完成的事件,寫出“通式”。該題的通式有以下幾個:分母的通式(所有分母看成:0+1+2+…+i):mu=mu+i(mu初值為0,i初值為1)當前項的通式:t=1.0/mu求和的通式:s=s+t變量i的通式:i=i+1示例3程序循環結構示例:示例4【例4】求1~100之間能被7整除,但不能同時被5整除的所有整數。程序保存為07_division.py。【分析】本題需要對1~100范圍內的所有數一一進行判斷。本題的循環次數確定是100次。在每次循環過程中需要用if語句進行條件判斷。因此本題是循環嵌套選擇的結構。示例4:程序示例4:思考請問語句“i+=1”可以和語句“printi,'\t'”對齊嗎?示例4:思考如果使用for循環該如何實現?continute語句continue語句的作用是終止本次循環,并忽略循環體中continue之后的語句,然后回到循環的頂端,繼續執行下一次循環。【例4-17】求200以內能被17整除的所有正整數,并統計滿足條件的數的個數。循環結構示例:示例5【例5】輸出“水仙花數”。所謂水仙花數是指1個3位的十進制數,其各位數字的立方和等于該數本身。程序保存為narcissus.py。例如:153是水仙花數,因為153=13+53+33。【分析】本題需要對100~999范圍內的所有數一一進行判斷。本題的變量i既是循環變量,同時也是被判斷的數。每次循環過程中需要用if語句進行條件判斷。因此本題也是循環嵌套選擇的結構。示例5程序思考題while循環與for循環在用法上有哪些區別?課堂練習與課后作業課堂練習本講課件所有示例教材第四章剩余的例子課后作業P75:1,9已知期末考試成績:[91,89,76,67

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論