1.偉大的循環(huán)
A.課程內(nèi)容
通過繪制五角星和八邊形來學(xué)習(xí)for循環(huán)的用法和range()函數(shù)的用法。通過學(xué)習(xí)掌握python程序中循環(huán)執(zhí)行的過程。
B.知識點(diǎn)
(1)for循環(huán)的用法
(2)range()函數(shù)的用法
(3)繪制N邊形技巧
C.用到的基本指令
(1)import
(2)turtle.Pen()
(3)forward()
(4)right()
(5)for循環(huán)
(6)range()
D.for循環(huán)
for循環(huán)簡單地說是使用一個(gè)變量來遍歷列表中的每一個(gè)元素,就好比讓一個(gè)小朋友依次走過列表中的元素一樣。
for循環(huán)可以遍歷任何序列的項(xiàng)目,如一個(gè)列表或者一個(gè)字符串。它常用于遍歷字符串、列表、元組、字典、集合等序列類型,逐個(gè)獲取序列中的各個(gè)元素,并存儲在變量中。
在使用for循環(huán)遍歷列表和元組時(shí),列表或元組有幾個(gè)元素,for循環(huán)的循環(huán)體就執(zhí)行幾次,針對每個(gè)元素執(zhí)行一次,迭代變量會依次賦值為元素值。

names為一個(gè)列表,for ... in為for循環(huán)語句,開始循環(huán)時(shí),從列表names中取出一個(gè)元素,并存儲在變量name中,然后print語句將元素打印出來。接著第二次循環(huán),再從列表names中取出第二個(gè)元素,存儲在變量name中,并打印出來,這樣一直重復(fù)執(zhí)行,直到列表中的元素全部被打印。
上圖中的冒號(:)不能丟。另外,“print(name)”語句必須縮進(jìn)4個(gè)字節(jié)才會進(jìn)行參數(shù)循環(huán)。如果你忘記縮進(jìn),運(yùn)行程序時(shí)將會出錯(cuò),這時(shí)python會提醒你縮進(jìn)。
E.for循環(huán)的好搭檔——range()函數(shù)
range()函數(shù)是python內(nèi)置的函數(shù),用于生成一系列連續(xù)的整數(shù),多與for循環(huán)配合使用。如下圖所示:
range(1,6)語句中,第一個(gè)數(shù)字1為起始數(shù),第二個(gè)數(shù)字6為結(jié)束數(shù),但不包括此數(shù)。因此就生成了從1到5的數(shù)字。輸出結(jié)果如下圖:

range(1,6,2)語句中,第一個(gè)數(shù)字1為起始數(shù),第二個(gè)數(shù)6字結(jié)束數(shù)(不包含此數(shù)),地三個(gè)數(shù)2為步長,即兩個(gè)數(shù)之間的間隔。因此就生成了1,3,5的奇數(shù)。編程語句和輸出結(jié)果如下:

range(10)語句中只有一個(gè)數(shù),表示指定的是結(jié)束數(shù),第一個(gè)數(shù)默認(rèn)從0開始,因此就生成了從0到9的數(shù)。

接下來,我們用range()函數(shù)創(chuàng)建一個(gè)列表。

輸出的結(jié)果。python中[]中的內(nèi)容被認(rèn)為是一個(gè)列表。

創(chuàng)建一個(gè)列表。

F.for循環(huán)程序變身
通過前面的學(xué)習(xí),我們掌握了繪制五邊形的方法。按照上一節(jié)的方法,如果我們想繪制200邊形呢?怎么辦?當(dāng)然是利用for循環(huán)語句了,for循環(huán)語句可以替代大量重復(fù)的語句。
for循環(huán)簡單來說是使用一個(gè)變量來遍歷列表中的每一個(gè)元素,就好比讓一個(gè)小朋友依次走過列表中的元素一樣。每走過一個(gè)元素,就循環(huán)一次,同時(shí)將走過的元素存儲在變量中。

下面我們利用for循環(huán)繪制一個(gè)正八邊形。繪制正八邊形時(shí),每次的旋轉(zhuǎn)角度應(yīng)為45°(360÷8),循環(huán)次數(shù)為8次,如下圖所示:

繪制200邊形,每次旋轉(zhuǎn)角度為360÷200=1.8度,循環(huán)次數(shù)為200次,我們試試看:
