Python蟒蛇繪制示例:
#PythonDraw.py
import turtle//引入了一個繪圖庫 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)
turtle.done()
模塊一:turtle庫的使用
-turtle庫基本介紹
-turtle繪圖窗體布局
-turtle空間坐標體系
-turtle角度坐標體系
-RGB色彩體系
turtle庫:入門級圖形繪制函數(shù)庫
Python計算生態(tài)=標準庫+第三方庫
-標準庫:隨解釋器直接安裝到OS中的功能模塊
-第三方庫:通過安裝才能使用的功能模塊
turtle繪制窗體:turtle.setup(width,height,statx,starty) (后兩個參數(shù)可選)
turtle空間坐標體系: 絕對坐標风皿、海歸坐標
絕對坐標
-turtle.goto(x,y) //表示從當前位置前往目標坐標
海龜坐標
-turtle.fd(d) //表示向海龜?shù)恼胺竭\行
-turtle.bk(d) //表示向海龜?shù)姆捶较蜻\行
-turtle.circle(r,angle) //表示以海龜當前位置左側(cè)的某個點為圓心進行曲線運行
turtle角度坐標體系
-turtle.seth(angle) //設(shè)置海龜?shù)男羞M角度(方向)
-turtle.left(angle)
-turtle.right(angle)
實現(xiàn):Z形曲線的繪制
import turtle
turtle.left(45)
turtle.fd(150)
turtle.right(135)
turtle.fd(300)
turtle.left(135)
turtle.fd(150)
RGB色彩體系
-turtle.colormode(1.0):RGB小數(shù)模式
-turtle.colormode(255):RGB整數(shù)模式
模塊二:turtle程序語法元素分析
-庫引用與import
-turtle畫筆控制函數(shù)
-turtle運動控制函數(shù)
-turtle方向控制函數(shù)
-基本循環(huán)語句
-"Python蟒蛇繪制"代碼分析
庫引用:擴充程序功能的一種方式
import <庫名>
<庫名>.<函數(shù)名>(<函數(shù)參數(shù)>)
省略turtle:
from <庫名> import <函數(shù)名>
from <庫名> import *
<函數(shù)名>(<函數(shù)參數(shù)>)
代碼改造:
#PythonDraw.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)
done()
這樣可以省略一直引用庫名,但是也有其缺點特碳,如果參數(shù)名和自定義參數(shù)重名或者引用的庫太多發(fā)生函數(shù)名重復(fù)則會帶來許多麻煩顿锰。
解決辦法:
#PythonDraw.py
import turtle as t
t.setup(650,350,200,200)
t.penup()
t.fd(-250)
t.pendown()
t.pensize(25)
t.pencolor("purple")
t.seth(-40)
for i in range(4):
t.circle(40,80)
t.circle(-40,80)
t.circle(40,80/2)
t.fd(40)
t.circle(16,180)
t.fd(40*2/3)
t.done()
turtle畫筆控制函數(shù)
penup(),pencolor(),pensize(),pendown()
turtle.pu() 绰上、turtle.pd():畫筆操作后一直有效呈驶,一般成對出現(xiàn)
turtle.pensize(width)別名:turtle.width(width)
turtle.pencolor()參數(shù)有三種形式:
-顏色字符串: turtle.pencolor("purple")
-RGB的小數(shù)值:turtle.pencolor(0.63,0.13,0.94)
//默認小數(shù)值(如果要用整數(shù)值模式:turtle.colormode(255))
-RGB的元組值:turtle.pencolor((0.63,0.13,0.94))
turtle運動控制函數(shù)
1.turtle.forward(d) 別名:turtle.fd(d)
d:行進距離郑诺,可為負數(shù)
2.turtle.circle(r,extent=None)
r:海龜運動的半徑 圓心位置:海歸左側(cè)r距離處
方向控制函數(shù)
絕對視角-turtle.setheading(angle) 別名:turtle.seth(angle) //規(guī)定行進方向
海龜視角-
turtle.left(angle)
turtle.right(angle)
//海龜轉(zhuǎn)向
循環(huán)語句與range()函數(shù)
for <變量> in range(<參數(shù)>):
(一個縮進)<被循環(huán)執(zhí)行的語句>
注意這里的冒號不能丟
Python蟒蛇代碼分析:
#PythonDraw.py
import turtle //引入繪圖庫
turtle.setup(650,350,200,200) //設(shè)置窗體:寬度為650像素苫耸,高度為350像素州邢;窗體位置距離當前屏幕左上角(200,200)的位置
turtle.penup() //提起畫筆
turtle.fd(-250) //畫筆提起褪子,海龜飛行量淌,所以畫布上不留下效果
turtle.pendown() //畫筆落下
turtle.pensize(25) //設(shè)置畫筆粗細
turtle.pencolor("purple") //設(shè)置畫筆顏色
turtle.seth(-40) //規(guī)定畫筆行進方向為-40度
for i in range(4):
turtle.circle(40,80) //以左40為遠點,繪制80度
turtle.circle(-40,80) //以右40為原點嫌褪,繪制80度
turtle.circle(40,80/2)
turtle.fd(40) //脖子部分:左40為原點繪制40度呀枢,后行進40
turtle.circle(16,180)
turtle.fd(40*2/3)
turtle.done() //運行之后不會退出,否則自動退出