資源簡介 (共16張PPT)2.3 周而復始的循環信息技術必修一 數據與計算情景導入一張小明學習完了程序的三大結構中的順序結構,分支結構,覺得學習Python還是有點難度的,學習未達到自己的目標。為了表明自己勤奮學習Python的決心,他決定利用代碼輸出一百遍“認真學好Python!”print(“認真學好Python!”)真課堂講解——循環結構循環結構循環結構是指從某處開始,按照一定的條件反復執行某一處理步驟的過程。那么,反復執行的處理步驟稱為循環體。先判斷循環條件,若滿足條件,則執行循環體;若不滿足循環條件,則跳出循環。條件循環體假循環變量計數循環課堂講解——計數循環for循環可實現重復已知次數的循環for 循環變量 in 列表:語句1語句2......語句n注:注意循環體部分語句要縮進真條件循環變量循環體條件假列表(list)num = [1,2,3,4]str = [“hello”,“world”]object = [1,“hello”, 2.0 ,“world”]列表用“[ ]”將數據集中存放;各項數據之間用逗號隔開;列表中可以包含Python中能存儲的任何類型的數據課堂講解——計數循環for i in [1,2,3,4]print(i):1234iprint(i)1234總結:1)循環次數由列表里的項數來決定。2)列表里的每一項都會賦一次值給循環變量。課堂講解——計數循環range()函數用于生成一段“左閉右開” 的連續的整數范圍+ range(end)+ range(start, end)+ range(start, end, step)例子:range(10)range(2,10)range(0,10,1)range(0,10,2)--- [0,1,2,3,4,5,6,7,8,9]--- [2,3,4,5,6,7,8,9]--- [0,1,2,3,4,5,6,7,8,9]start指的是計數起始值,默認為0end指的是計數結束值,但不包括endstep是步長,默認為1,不可以為0課堂講解——計數循環--- [0,2, 4, 6, 8]演示代碼:for i in range(1,5):print(i)for i in range(10):print(i)for i in range(2,10):print(i)for i in range(0,10,2):print(i)那你找到重復輸出100次的方法了嗎?for i in range( ):print(“認真學好Python”)100課堂講解——計數循環張小明接觸了循環結構后,覺得十分有用,希望能借助循環結構來解決一些數學問題。他覺得利用for循環與range()函數搭配可以很方便地解決已知重復次數或已知范圍的累加、累積的數學問題,如:計算1+2+3...100的和。s = 0for i in range(1,101):s = s + iprint(s)將1+2+3+4+5...+100,拆分為若干次加法以循環的前三步為例:第一次循環:i = 1, s = s + i = 0 + 1 = 1第二次循環:i = 2, s = s + i = 1 + 2 = 3第三次循環:i = 3, s = s + i = 3 + 3 = 6...課堂講解——計數循環情境導入二張小明又想了,萬一他沒有辦法提前知道循環的次數,那又該怎么辦呢?比如:小猴子吃桃的故事。小猴子摘了1534個桃子,第一天吃了一半,然后忍不住又吃了一個;第二天又吃了一半,再加上一個;后面每天都是這樣吃。到最后一天時,小猴子發現只有一個桃子了。請問猴子在最后一天之前一共吃了多少天桃子?條件循環課堂講解不確定執行多少次循環,而是使用關系表達式來確定什么時候執行循環while 關系表達式:語句1語句2......語句n注:注意循環體部分語句要縮進真條件循環變量循環體條件循環體假課堂講解s=0while s<=30:s = s + 10print(s)真條件s=0s<=30s = s+10print(s)假開始結束運行結果:10203040第一次:s = 0+10=10, 輸出10第二次:s = 10+10=20, 輸出20第三次:s = 20+10=30, 輸出30第四次:s = 30+10=40, 輸出40課堂講解有一類特殊的關系表達式——如數字0表示假,非0數字表示真。while 1: print(“我要認真學Python”) while 0:print(“我要認真學Python”)陷入“死循環”一次也不會執行課堂講解小猴子摘了1534個桃子,第一天吃了一半,然后忍不住又吃了一個;第二天又吃了一半,再加上一個;后面每天都是這樣吃。到最后一天時,小猴子發現只有一個桃子了。請問猴子在最后一天之前一共吃了多少天桃子?思路:1)確定好循環變量及初始值:桃子數:p = 1534天數: d = 02)確定好循環條件(找臨界值):桃子數大于1的時候,繼續吃桃子:p > 13)循環體(需重復執行的操作):每次所剩桃子數量: p =p - (p/2 +1)天數累加: d = d + 14) 輸出結果:print(d)p = 1534d = 0while p > 1:p = p / 2 - 1d = d + 1print(d)課后習題練習題計算1~100以內的偶數之和。解決猴子吃桃問題。小猴子摘了1534個桃子,第一天吃了一半,然后忍不住又吃了一個;第二天又吃了一半,再加上一個;后面每天都是這樣吃。到最后一天時,小猴子發現只有一個桃子了。請問猴子在最后一天之前一共吃了多少天桃子?【P39拓展】九九乘法表。THANKS謝謝觀看 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫