資源簡介 (共36張PPT)for 遍歷循環思考:如何輸出“冰墩墩” 到屏幕上?print("冰墩墩")如何輸出10遍“冰墩墩” 到屏幕上?print("冰墩墩")print("冰墩墩")print("冰墩墩")print("冰墩墩")print("冰墩墩")print("冰墩墩")print("冰墩墩")print("冰墩墩")print("冰墩墩")print("冰墩墩")執行程序(一)遍歷數字for i in [1,2,3,4,5,6,7,8,9,10]:print("冰墩墩")通過for循環語句把10行重復的代碼變為2行執行程序for循環可以遍歷列表[1,2,3,4,5,6,7,8,9,10]中的每一個元素,每遍歷一次,輸出一次“冰墩墩”列表:是Python中常用的數據類型,它是用逗號把數據項分隔開來,并使用方括號括起來的數據類型。例如: [32,33,28,30,27,33][1.58,1.83,1.71,1.65][“冰墩墩”, “雪容融”, “喜洋洋"]遍歷:把對象中的元素從頭到尾訪問一次。遍歷列表[1,2,3,4,5,6,7,8,9,10],就是把1~10十個數字從前往后一個一個地數一遍。for循環可以遍歷列表[1,2,3,4,5,6,7,8,9,10]中的每一個對象,每遍歷一次,輸出一次“冰墩墩”for循環的基本結構:變量i每一次遍歷列表[1,2,3,4,5,6,7,8,9,10]時,會為其中的數字對象掛上i的標簽,i的值會從1變成2,然后變成3,一直變到10,每一次遍歷執行一次print("冰墩墩")for i in [1,2,3,4,5,6,7,8,9,10]:print("冰墩墩")for item in iterable:do somethingfor是關鍵字;item [ a t m]是循環變量,這里是i,指向變量的值;in是關鍵字,告訴i要遍歷的對象在它后面;iterable ['it reibl]是可遍歷對象,可以是列表,也可以是字符串等。是每一次循環需要執行的代碼for i in [10,20,30,40,50,60,70,80,90,100]:print("冰墩墩")猜猜:如果列表里的數字更換為下面的數字,將會循環多少次呢?10次循環的次數和列表里數字的大小沒關系,只和元素的數量有關系。思考:如何輸出1000行“冰墩墩”?range() 函數,可創建一個整數列表for i in range(1000):print("冰墩墩")使用range(1000)函數能完成1000次的循環range() 函數創建的整數列表,其中的元素是如何計數的?for i in range(10):print(i)range(n) 創建的整數列表是從0開始到n-1執行程序range(n)for i in range(1,11):print(i)range(m,n)創建的整數列表是從m開始到n-1range(m,n)執行程序for i in range(0,100,5):print(i)range(m,n,k)創建的整數列表是從m開始到n-1結束,間隔為krange(m,n,k)執行程序range()函數:生成一段左閉右開的整數范圍語法:range(start, stop [,step])start :計數起始值,默認是 0;stop :計數結束值,但不包括 stop ;step :步長,默認為 1(二)遍歷字符串對象print("我有三個好朋友,他們分別是:")for name in ["冰墩墩","雪容融","喜洋洋"]:print(name)(三)遍歷字符串str="我愛你,媽媽!"for word in str:print(word)小試牛刀:計算1到20的乘積并打印;打印1帶100之間的所有奇數;遍歷并打印family中的所有字母;打印倒計時從10到1;復習:1.for循環:計算機程序中能重復一定次數的循環。基本結構:2.range() 函數:生成一段左閉右開的整數范圍語法:range(start, stop [,step])range(10)range(1,10)range(1,10,2)for item in iterable:do something探究任務:輸出9*9乘法表例:制作“九九乘法表”降低難度:針對一個數字的乘法表,數字5的乘法表print("5*1=5")print("5*2=10")print("5*3=15")print("5*4=20")print("5*5=25")print("5*6=30")print("5*7=35")print("5*8=40")print("5*9=45")for i in[1,2,3,4,5,6,7,8,9]:for i in range(1,10):for i in range(1,10):print("5*i=5*i")for i in range(1,10):print(“5*%d=%d"%(i,5*i))修改程序每遍歷一次,執行一次:“5*(一個數字)=(乘積)”觀察:第一個乘數范圍是1~9,第二個乘數范圍也是1~9,因此需要設置兩個變量,如:i和j,使用for循環進行遍歷。變量i的1乘以j值的1~9,i值的2乘以j值的1~9,……,i值的9乘以j值的1~9。即i不變,乘以j的1~9,直到i乘以j的9結束后,i才變化為2。i的每一次遍歷,都對應j的所有遍歷,因此,i循環在外層,j循環在內層for i in range(1,10):for j in range(1,10):print("%d*%d=%d"%(i,j,i*j))iji*jiji*jfor i in[1,2,3,4,5,6,7,8,9]:for j in[1,2,3,4,5,6,7,8,9]:print("%d*%d=%d"%(i,j,i*j))外層循環內層循環for i in range(1,10):for j in range(1,10):print("%d*%d=%d"%(i,j,i*j))for i in range(1,10):for j in range(1,10):print("%d*%d=%d\t"%(i,j,i*j),end="")print("")修改程序空檔不換行分行jifor i in range(1,10):for j in range(1,10):print("%d*%d=%d\t"%(j,i,i*j),end="")print("")for i in range(1,10):for j in range(1,i+1):print("%d*%d=%d\t"%(j,i,i*j),end="")print("")修改程序小結:1.for循環:計算機程序中能重復一定次數的循環。基本結構:2.range() 函數:生成一段左閉右開的整數范圍語法:range(start, stop [,step])start 指的是計數起始值,默認是 0;stop 指的是計數結束值,但不包括 stop ;step 是步長,默認為 1,不可以為 0 for item in iterable:do something(四)for循環在turtle庫中的應用import turtleturtle.fd(200)turtle.lt(120)turtle.fd(200)turtle.lt(120)turtle.fd(200)turtle.lt(120)思考:小海龜一共前進并旋轉了幾次?每一次都執行了什么代碼?import turtlefor i in range( ):請用for遍歷循環簡化代碼:3turtle.fd(200)turtle.lt(120)import turtlefor i in range(5):turtle.fd(200)turtle.lt(72)思考:如何繪制正五邊形?連續前進相同的距離,向左(或向右)轉 ? 度復習:1.for循環:計算機程序中能重復一定次數的循環。基本結構:2.range() 函數:生成一段左閉右開的整數范圍語法:range(start, stop [,step])range(10)range(1,10)range(1,10,2)for item in iterable:do something思考:如何畫正n邊形?解決兩個問題:1.畫幾條邊?2.每畫完一條邊,小海龜轉多少度?1.假設是正n邊形:邊數n就是循環的次數正n邊形即循環n次import turtlefor i in range(3):turtle.fd(200)turtle.lt(120)import turtlefor i in range(5):turtle.fd(200)turtle.lt(72)n=3:三邊形n=5:五邊形2.正n邊形每畫完一條邊轉多少度?正多邊形每個外角:180-(n-2)*180/n即:360/n120°72°n=int(input("請輸入正多邊形的邊數:"))import turtlefor i in range(n):turtle.forward(20)turtle.left(360/n)難度提高:如何繪制多瓣花朵圖形?觀察并思考:1.組成多瓣花朵圖形的基本圖形是什么?五邊形6個2.有多少個五邊形?3.其余5個五邊形是在一個五邊形的什么操作上繪制得來?旋轉360/6=60°畫正五邊形, 旋轉60度;繪制過程:畫正五邊形, 旋轉60度;畫正五邊形, 旋轉60度;畫正五邊形, 旋轉60度;畫正五邊形, 旋轉60度;畫正五邊形, 旋轉60度;循環結構import turtlefor i in range(6):for j in range(5):turtle.fd(200)turtle.lt(72)turtle.lt(60)內層循環:畫正五邊形外層循環:完成6次循環每一次循環左轉60度嘗試畫出如下圖形:提示:1.組成該圖形的基本圖形是什么?2.每個基本圖形有什么特點?3.其余基本圖形是在一個基本圖形的什么操作上繪制得來?import turtleturtle.pensize(3)turtle.speed(10)colors=['red',"yellow","blue","green","pink"]for i in range(5):turtle.pencolor(colors[i])for j in range(9):turtle.circle((j+1)*20)turtle.right(72) 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫