




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、計算機編程導論計算機編程導論本章主講本章主講 趙家剛趙家剛 1-2Copyright SWFU-CISD, 2012. All rights reserved.計算機編程導論計算機編程導論4.3.3 while語句用于無限循環語句用于無限循環要點:要點:v循環結構理解循環結構理解v二重循環結構理解二重循環結構理解v二重循環的應用二重循環的應用1-3Copyright SWFU-CISD, 2012. All rights reserved.計算機編程導論計算機編程導論4.3.3 while語句用于無限循環語句用于無限循環v當當while語句的語句的“表達式表達式”永遠不會為布爾假時,永遠不會為
2、布爾假時,循環將永遠不會結束,形成無限循環,也稱死循環將永遠不會結束,形成無限循環,也稱死循環。循環。v使用使用while語句構成無限循環的格式通常為:語句構成無限循環的格式通常為:while True:循環體循環體v可以在循環體內使用可以在循環體內使用break語句語句強制結束死循強制結束死循環。環。1-4Copyright SWFU-CISD, 2012. All rights reserved.計算機編程導論計算機編程導論【例【例4-5】使用無限循環的方法編程實現例】使用無限循環的方法編程實現例4-2。a = input(請輸入字符,如果輸入請輸入字符,如果輸入 # 號號則結束輸入操作則
3、結束輸入操作: )while True:print(您輸入的字符是:您輸入的字符是:, a)a = input(請輸入字符,如果輸請輸入字符,如果輸入入 # 號則結束輸入操作號則結束輸入操作: )if a = #:break程序:程序:1-5Copyright SWFU-CISD, 2012. All rights reserved.計算機編程導論計算機編程導論【例【例4-6】求以下表達式的值,其中】求以下表達式的值,其中n值從鍵盤輸值從鍵盤輸入。參考值:當入。參考值:當n = 11時,時,s = 1.833333 。ns3211321121111-6Copyright SWFU-CISD,
4、2012. All rights reserved.計算機編程導論計算機編程導論【分析分析】(1)以上問題屬于數學中的級數求和問題,是使用)以上問題屬于數學中的級數求和問題,是使用循環結構解決的一類常見問題。循環結構解決的一類常見問題。(2)級數求和問題編程的重點在于通過觀察表達式)級數求和問題編程的重點在于通過觀察表達式的規律,分析每次循環都要完成的事件。通常將這的規律,分析每次循環都要完成的事件。通常將這些事件進行局部分解,稱為些事件進行局部分解,稱為“通式通式”。 該題的通式有以下幾個:該題的通式有以下幾個:(1)分母的通式:)分母的通式:(2)變量)變量i的通式:的通式:(3)當前項的
5、通式:)當前項的通式:(4)求和的通式:)求和的通式:mu = mu + ii = i + 1t = 1.0 / mus = s + t1-7Copyright SWFU-CISD, 2012. All rights reserved.計算機編程導論計算機編程導論i=1mu = 0s = 0.0n = input(請輸入請輸入n值值: ) #或用書上的代碼或用書上的代碼while i = 1e-8:s = s + t zi = zi * imu = mu * ( 2 * i + 1)t = zi * 1.0 / mui += 1print PAI = , (2 * s)1-11Copyrigh
6、t SWFU-CISD, 2012. All rights reserved.計算機編程導論計算機編程導論【例【例4-8】求求1 100之間能被之間能被7整除,但不能同整除,但不能同時被時被5整除的所有整數整除的所有整數 。【分析分析】(1)本題需要對)本題需要對1 100范圍內的所有數一一進范圍內的所有數一一進行判斷。行判斷。(2)本題的循環次數確)本題的循環次數確定是定是100次。次。 (3)在每次循環過程中)在每次循環過程中需要用需要用 if 語句進行條件語句進行條件判斷。因此本題是循環判斷。因此本題是循環嵌套選擇的結構。嵌套選擇的結構。1-12Copyright SWFU-CISD,
7、2012. All rights reserved.計算機編程導論計算機編程導論i = 1 # i 既是循環變量,同時又是被判斷的數既是循環變量,同時又是被判斷的數print(1100之間能被之間能被7整除,但不能同時被整除,但不能同時被5整除的所有數是整除的所有數是:)while i = 100: #判斷循環是否結束判斷循環是否結束 if i % 7 = 0 and i % 5 != 0: #判斷本次的判斷本次的i是否滿足條件是否滿足條件 print i, t #打印滿足條件的打印滿足條件的i i += 1 #每次循環每次循環 i 應自增應自增程序:程序:提問:提問:請問語句請問語句“i +
8、= 1”可以和語句可以和語句 “print i, t ”對齊嗎?對齊嗎?1-13Copyright SWFU-CISD, 2012. All rights reserved.計算機編程導論計算機編程導論【例【例4-9】輸出】輸出“水仙花數水仙花數”。所謂水仙花數是指。所謂水仙花數是指1個個3位的十進制數,其各位數字的立方和等于該數本身。位的十進制數,其各位數字的立方和等于該數本身。例如:例如:153是水仙花數,因為是水仙花數,因為153 = 13 + 53 + 33 。【分析分析】(1)本題需要對)本題需要對100 999范圍內的所有數一一進行范圍內的所有數一一進行判斷。判斷。(2)本題的變量
9、)本題的變量 i 既是循既是循環變量,同時也是被判斷環變量,同時也是被判斷的數。的數。(3)每次循環過程中需要)每次循環過程中需要用用 if 語句進行條件判斷。語句進行條件判斷。因此本題也是循環嵌套選因此本題也是循環嵌套選擇的結構。擇的結構。1-14Copyright SWFU-CISD, 2012. All rights reserved.計算機編程導論計算機編程導論提問:提問:變量變量 i 是一個三位整數,例如是一個三位整數,例如 i = 123(1)請寫出分離)請寫出分離 i 的百位數的表達式。的百位數的表達式。(2)請寫出分離)請寫出分離 i 的十位數的表達式。的十位數的表達式。(3)
10、請寫出分離)請寫出分離 i 的個位數的表達式。的個位數的表達式。i = 100print(所有的水仙花數是:所有的水仙花數是:)while i score = 70, 90, 78, 85, 97, 94, 65, 80 score70, 90, 78, 85, 97, 94, 65, 80 aver = sum(score) / 8.0 aver82.375 1-18Copyright SWFU-CISD, 2012. All rights reserved.計算機編程導論計算機編程導論方法二:使用方法二:使用for語句,循環計算列表元素之和。語句,循環計算列表元素之和。 【分析分析】(1)
11、以上列表)以上列表score有有8個元素,這個元素,這些元素的序列索引范圍是些元素的序列索引范圍是“0 7”。(2)本題用到成員測試運算符)本題用到成員測試運算符“in”,如果成員在序列中,測試結果為如果成員在序列中,測試結果為“True”,否則為,否則為“False”。(3)本題用到計算序列長度的內建)本題用到計算序列長度的內建函數函數len( )。(4)本題用到內建函數)本題用到內建函數range( ),range( )函數的完整語法要求提供函數的完整語法要求提供2個個或或3個整型參數:個整型參數:range(start, end, step) 1-19Copyright SWFU-CIS
12、D, 2012. All rights reserved.計算機編程導論計算機編程導論score = 70, 90, 78, 85, 97, 94, 65, 80print 所有的分數值是:所有的分數值是:print score #打印列表打印列表sum = 0for i in range(len(score): print scorei, sum += scorei #循環體循環體對列表元素求和對列表元素求和aver = sum / 8.0 #循環之后,求平均值循環之后,求平均值print naver = , aver程序:程序:1-20Copyright SWFU-CISD, 2012.
13、All rights reserved.計算機編程導論計算機編程導論v循環的嵌套是指在一個循環中又包含另外一個循環的嵌套是指在一個循環中又包含另外一個完整的循環,即循環體中又包含循環語句。完整的循環,即循環體中又包含循環語句。while循環和循環和for循環可以相互嵌套。循環可以相互嵌套。 v循環嵌套的執行過程是:一次外循環對應著完循環嵌套的執行過程是:一次外循環對應著完整的一輪內循環。整的一輪內循環。利用利用for語句實現雙層循環嵌套語句實現雙層循環嵌套1-21Copyright SWFU-CISD, 2012. All rights reserved.計算機編程導論計算機編程導論【例例4-
14、13】使用使用for循環的嵌套結構打印循環的嵌套結構打印9-9乘法表乘法表 【分析分析】9-9乘法表由乘法表由9行組成,每行的列數有規律地遞增。行組成,每行的列數有規律地遞增。通過觀察可以看出,表達式通過觀察可以看出,表達式“X * Y = Z”中的中的X是內循環變量是內循環變量j的取值,的取值,Y是外循環變量是外循環變量i的取值,的取值,Z是是X乘以乘以Y的結果。的結果。 1-22Copyright SWFU-CISD, 2012. All rights reserved.計算機編程導論計算機編程導論for i in range(1, 10, 1): #控制行控制行for j in rang
15、e(1, i+1, 1): #控制列控制列print i, *, j, =, i*j, tprint n #每行末尾的換行每行末尾的換行程序:程序:1-23Copyright SWFU-CISD, 2012. All rights reserved.計算機編程導論計算機編程導論【課堂練習課堂練習】使用使用for循環的嵌套結構編程,循環的嵌套結構編程,打印以下圖形。打印以下圖形。 (1)(1)矩形矩形(2)(2)直角三角形直角三角形(3)(3)正三角形正三角形1-24Copyright SWFU-CISD, 2012. All rights reserved.計算機編程導論計算機編程導論vPyt
16、hon提供了一條提前結束循環的語句提供了一條提前結束循環的語句break語句。語句。v當在循環過程中,某個條件被觸發(一般通過當在循環過程中,某個條件被觸發(一般通過if語句檢查),需要立即停止循環時使用。語句檢查),需要立即停止循環時使用。break語句可以用在語句可以用在while和和for循環中。循環中。 4.4 break語句語句 1-25Copyright SWFU-CISD, 2012. All rights reserved.計算機編程導論計算機編程導論【例例4-15】求求200以內能被以內能被17整除的最大正整數。整除的最大正整數。 【分析分析】這個查找過程將以遞這個查找過程將
17、以遞減的方式遍歷減的方式遍歷200至至1之間的整之間的整數,當找到第數,當找到第1個能被個能被17整除的整除的數時,循環過程立即停止,后數時,循環過程立即停止,后續還沒有遍歷的數將無需再進續還沒有遍歷的數將無需再進行判斷,因此可以使用行判斷,因此可以使用break語語句將循環提前終止。句將循環提前終止。 for i in range(200, 1, -1):if i % 17 = 0:breakprint(200以內能被以內能被17整除的最大整除的最大數是:數是:, i) 程序:程序:1-26Copyright SWFU-CISD, 2012. All rights reserved.計算機編
18、程導論計算機編程導論【例例4-16】從鍵盤輸入一個整數,判斷該數是否為從鍵盤輸入一個整數,判斷該數是否為素數。素數。 1-27Copyright SWFU-CISD, 2012. All rights reserved.計算機編程導論計算機編程導論1-28Copyright SWFU-CISD, 2012. All rights reserved. #Exp4_16.pyx=input(請輸入請輸入1個整數:個整數:)for i in range(2, x, 1):if x % i=0: breakif i=x-1:print x, 是素數是素數elif ix-1:print x, 不是素數不是素數計算機編程導論計算機編程導論1-29Copyright SWFU-CISD, 2012. All rights reserved.4.6 continute語句語句 continue語句的作用是終止當前循環,并忽略語句的作用是終止當前循環,并忽略continue之后的語句,然后回到循環的頂端,之后的語句,然后回到循環的頂端,繼續執行下一次循環。繼續執行下一次循環。計算機編程導論計算機編程導論1-30Copyright SWFU-CISD, 2012. All rights reserved.【例例4-17】 求求200以內能
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫療集團資產管理辦法
- 熱紅外遙感勘探-洞察及研究
- 音樂傳播視角下高職學生合唱藝術審美能力培養策略研究
- 全員安全生產責任制清單模板
- 關于安全生產會議的法律規定
- 安全生產管理制度匯編格式
- 不同基屬混合加氫重油的催化裂化與裂解性能研究
- 2025現行生態環境保護相關法律法規
- 2025生產安全事故風險辨識、評估報告
- 翻譯版權政策研究-洞察及研究
- 開展退伍老兵活動方案
- 年產 35 萬噸金屬結構件項目(一期年產 6 萬噸金屬結構件)環評報告書
- 【基于中國醫療行業上市公司數據的CAPM模型實證檢驗分析7800字】
- 地產 設計培訓課件
- 中國古建筑行業市場發展現狀及投資前景展望報告
- 浙江杭州市2024-2025學年高一下學期6月期末考試物理試題及答案
- 員工勸退方案文案(3篇)
- 2025年高考全國一卷數學真題-答案
- 企業異地作業管理制度
- 陜西省專業技術人員繼續教育2025公需課《專業技術人員綜合素質拓展》4學時題庫及答案
- 2025至2030年中國間規聚苯乙烯(SPS)行業市場全景調查及競爭戰略分析報告
評論
0/150
提交評論