以下內(nèi)容僅用作個人學(xué)習(xí)記錄
程序設(shè)計題
實例2: Python蟒蛇繪制
描述
這是"實例"題,與課上講解實例相同,請作答檢驗學(xué)習(xí)效果。
使用turtle庫,繪制一個蟒蛇形狀的圖形。
注意:這不是自動評閱題目,僅用于練習(xí),沒有評閱。
輸出示例
輸出效果如下:

代碼
import turtle
turtle setup(650,250,200,200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.seth(-40)
turtle.pensize(25)
turtle.pencolor("purple")
for i in range (4):
? ? turtle.circle(40,80)
? ? turtle.circle(-40,80)
turtle.circle(40,80)
turtle.fd(40)
turtle.circle(40,180)
turtle.fd(40)
turtle.done()
turtle正方形繪制
描述
使用turtle庫,繪制一個正方形。
注意:這不是自動評閱題目,僅用于練習(xí),沒有評閱。
輸出示例
正方形效果如下:

代碼
import turtle
turtle.setup(650,350)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(10)
for i in range (4):
? ? turtle.fd(90)
? ? turtle.right(90)
【參考代碼】
#RectDraw.py
import? turtle? as? t
t.pensize(2)
for? i? in? range(4):
????t.fd(150)
????t.left(90)
turtle六邊形繪制
描述
使用turtle庫,繪制一個六邊形。
注意:這不是自動評閱題目,僅用于練習(xí),沒有評閱。
輸出示例
六邊形效果如下:

代碼
import turtle
turtle.setup(650,350,300,300)
turtle.penup()
turtle.forward(-250)
turtle.pendown()
turtle.pensize(5)
turtle.color("black")
turtle.seth(-60)
for i in range(6):
? ? turtle.forward(60)
? ? turtle.left(60)
【參考代碼】
#HexagonDraw.py
import? turtle? as? t
t.pensize(2)
for? i? in? range(6):
????t.fd(150)
????t.left(60)
fd(x)函數(shù)的參數(shù)可以任意設(shè)置,決定了六邊形的大小。
turtle疊邊形繪制
描述
使用turtle庫,繪制一個疊邊形,其中,疊邊形內(nèi)角為100度。
注意:這不是自動評閱題目,僅用于練習(xí),沒有評閱。
輸出示例
疊邊形效果如下:

【參考代碼】
#TwoRoundDraw.py
import? turtle? as? t
t.pensize(2)
for? i? in? range(9):
????t.fd(150)
????t.left(80)#720/9
一共9條邊,共2圈,每次左轉(zhuǎn)角度為80度(720/9)。
turtle風(fēng)輪繪制
描述
使用turtle庫,繪制一個風(fēng)輪效果,其中,每個風(fēng)輪內(nèi)角為45度,風(fēng)輪邊長150像素。
注意:這不是自動評閱題目,僅用于練習(xí),沒有評閱。
提示:turtle.goto(x,y)函數(shù),能夠?qū)urtle畫筆移動到坐標(biāo)(x,y)
輸出示例
疊邊形效果如下:

代碼
import turtle
turtle.setup(650,650,300,300)
turtle.seth(90)
turtle.fd(150)
turtle.right(90)
turtle.circle(-150,45)
turtle.goto(0,0)
for i in range(3):
? ? turtle.left(45)
? ? turtle.fd(150)
? ? turtle.right(90)
? ? turtle.circle(-150,45)
? ? turtle.goto(0,0)
【參考代碼】
#WindWheel.py
import? turtle? as? t?
t.pensize(2)
for? i? in? range(4):
????t.seth(90*i)
????t.fd(150)
????t.right(90)
????t.circle(-150,45)
????t.goto(0,0)
請逐行理解代碼。