執行個體二:使用turtle庫進行蟒蛇繪制
2-1
#蟒蛇繪制.py
import turtle
turtle.setup(650, 350, 200, 200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
turtle.seth(-40)
for i in range(4):
turtle.circle(40, 80)
turtle.circle(-40, 80)
turtle.circle(40, 80/2)
turtle.fd(40)
turtle.circle(16, 180)
turtle.fd(40 * 2/3)
2-2
#蟒蛇繪制.py
from turtle import *
setup(650, 350, 200, 200)
penup()
fd(-250)
pendown()
pensize(25)
pencolor("purple")
seth(-40)
for i in range(4):
circle(40, 80)
circle(-40, 80)
circle(40, 80/2)
fd(40)
circle(16, 180)
fd(40 * 2/3)
2-3
#函數封裝蟒蛇繪制.py
import turtle
def drawSnake(radius, angle, length):
turtle.seth(-40)
for i in range(length):
turtle.circle(radius, angle)
turtle.circle(-radius, angle)
turtle.circle(radius, angle/2)
turtle.fd(40)
turtle.circle(16, 180)
turtle.fd(40* 2/3)
turtle.setup(650, 350, 200, 200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
drawSnake(40, 80, 4)
turtle.done()
turtle庫介紹
-turtle(海龜)庫是turtle繪制體系的python實作,是入門級的圖形繪制函數庫
标準庫和第三方庫
python計算生态=标準庫+第三方庫
-标準庫:随解釋器直接安裝到作業系統的功能子產品
-第三方庫:需要經過安裝才能使用的功能子產品
-庫Library,包package,子產品module,統稱為子產品
turtle的繪圖窗體
-turtle.setup(width,height,startx,starty)
-setup()設定啟動窗體的位置及大小,不是必須函數
turtle空間坐标系
-turtle.goto(x,y)
turtle.fd(d)向海龜正前方行進
turtle.circle(r,angle)以海龜目前位置左側某點為圓心進行曲線運作
turtle.bk(d)向海龜的反方向行進
turtle角度坐标體系
-x軸表示0度或360度,y軸表示90度或-270度
-turtle.seth(angle)改變海龜行進方向,不在圖像中繪制任何資訊,隻改變方向但不行進
-turtle.left(angle)或turtle.right()分别讓海龜向左或向右改變運作方向
RGB色彩模式
-RGB表示紅綠藍三個通道的顔色組合
-覆寫視力所能感覺的所有顔色
-RGB每色取值範圍0-255整數或0-1小數
-turtle.colormode(mode)
庫引用
-擴充python程式功能的方式
-使用import保留字完成,采用<a>.<b>()編碼風格。
具體方法 import <庫名>
<庫名>.<函數名>(<函數參數>)
import更多用法
-使用from和import保留字共同完成
from <庫名> import <函數名>
from <庫名> import*
<函數名>(<函數參數>)
-使用import和as保留字共同完成
import <庫名> as <庫别名>
<庫别名>.<函數名>(<函數參數>)
例如:import turtle 可寫為 import turtle as t(将turtle縮寫為t代碼更加簡單)
畫筆控制函數
-畫筆操作後一直有效,一般成對出現
turtle.penup() 别名 turtle.pu() [擡起畫筆,海龜在飛行,不形成圖形]
turtle.pendown() 别名 turtle.pd() [畫筆落下,海龜在爬行]
turtle.pensize(width) 别名 turtle.width(width) [畫筆寬度,海龜的腰圍
turtle.pencolor(color) color為顔色字元串或r,g,b值 [畫筆顔色,海龜在塗裝]
-turtle.pencolor(color) 中color參數有三種形式
-顔色字元串:turtle.pencolor("green") green是字元串形式而且需要小寫
-RGB的小數值:turtle.pencolor(0.63,0.13,0.94) 直接給出RGB三個通道的數值
- RGB的元組值:turtle.pencolor((0.63,0.13,0.94)) 元組值指将小數或整數值形成一個獨立的元素,即在數值外加一組括号
turtle運動控制函數
-控制海龜行進,走直線&走曲線
-turtle.circle(r.extent=None)
-根據半徑r繪制extent角度弧形
-r:預設圓心在海龜左側r距離的位置
turtle方向控制函數
-控制海龜面對方向:絕對角度&海龜角度
-turtle.setheading(angle) 别名 turtle.seth(angle)
-angle:改變行進方向,海龜走角度
-turtle.left(angle) 海龜向左轉
-turtle.right(angle) 海龜向右轉
-angle:在海龜目前行進方向上旋轉的角度
循環語句
-按照一定次數循環執行一組語句
-for<變量> in range(<參數>)
<被循環執行的語句>
-<變量>表示每次循環計數,若range後面的次數固定,則變量就為0到<次數>-1
range() 函數
-産生循環計數序列
-range(N)
産生0到N-1的整數序列,共N個
-range(M,N)
産生M到N-1的整數序列,共N-M個