簡介:turtle是一個簡單的繪圖工具。它提供了一個海龜,你可以把它理解為一個機器人,只聽得懂有限的指令。
創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供北流網(wǎng)站建設、北流做網(wǎng)站、北流網(wǎng)站設計、北流網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、北流企業(yè)網(wǎng)站模板建站服務,十余年北流做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。
1.在文件頭寫上如下行,這能讓我們在語句中插入中文
#-*- coding: utf-8 -*-
2.用import turtle導入turtle庫
3.繪圖窗口的原點(0,0)在正中間。默認情況下,海龜向正右方移動。
4.操縱海龜繪圖有著許多的命令,這些命令可以劃分為兩種:一種為運動命令,一種為畫筆控制命令
(1)運動命令:
forward(d)
向前移動距離d代表距離
backward(d)
向后移動距離d代表距離
right(degree)
向右轉(zhuǎn)動多少度
left(degree)
向左轉(zhuǎn)動多少度
goto(x,y)
將畫筆移動到坐標為(x,y)的位置
stamp()
繪制當前圖形
speed(speed)
畫筆繪制的速度范圍[0,10]整數(shù)
(2)畫筆控制命令:
down()
畫筆落下,移動時繪制圖形
up()
畫筆抬起,移動時不繪制圖形
setheading(degree)
海龜朝向,degree代表角度
reset()
恢復所有設置
pensize(width)
畫筆的寬度
pencolor(colorstring)
畫筆的顏色
fillcolor(colorstring)
繪制圖形的填充顏色
fill(Ture)
fill(False)
circle(radius, extent)
繪制一個圓形,其中radius為半徑,extent為度數(shù),例如若extent為180,則畫一個半圓;如要畫一個圓形,可不必寫第二個參數(shù)
5.幾個例子
1)畫一個邊長為60的三角形
#-*- coding: utf-8 -*-
importturtle
a=60
turtle.forward(a)
turtle.left(120)
turtle.forward(a)
turtle.left(120)
turtle.forward(a)
turtle.left(120)
2)畫一個邊長為60的正方形,并填充為紅色,邊框為藍色
#-*- coding: utf-8 -*-
importturtle
turtle.reset()
a= 60
turtle.fillcolor("red")
turtle.pencolor("blue")
turtle.pensize(10)
turtle.fill(True)
turtle.left(90)
turtle.forward(a)
turtle.left(90)
turtle.forward(a)
turtle.left(90)
turtle.forward(a)
turtle.left(90)
turtle.forward(a)
turtle.fill(False)
6.練習:
1)畫一個五邊形
2)畫一個六邊形
3)任意輸入一個正整數(shù)m(=3),畫一個多邊形(m條邊)
4)畫一個五角星,如下所示,注意填充為紅色
5)畫一個中國象棋棋盤,如下圖所示,其中漢字不必顯示出來:
6)繪制奧運五環(huán)圖,其中五種顏色分別為藍色、黑色、紅色、黃色和綠色。注意根據(jù)實際效果調(diào)整圓形的大小和位置。
Turtle庫是Python語言中一個很流行的繪制圖像的函數(shù)庫,想象一個小烏龜,在一個橫軸為x、縱軸為y的坐標系原點,(0,0)位置開始,它根據(jù)一組函數(shù)指令的控制,在這個平面坐標系中移動,從而在它爬行的路徑上繪制了圖形。
畫布就是turtle為我們展開用于繪圖區(qū)域,我們可以設置它的大小和初始位置。
設置畫布大小
turtle.screensize(canvwidth=None, canvheight=None, bg=None),參數(shù)分別為畫布的寬(單位像素), 高, 背景顏色。
如:turtle.screensize(800,600, "green")
turtle.screensize() #返回默認大小(400, 300)
turtle.setup(width=0.5, height=0.75, startx=None, starty=None),參數(shù):width, height: 輸入寬和高為整數(shù)時, 表示像素; 為小數(shù)時, 表示占據(jù)電腦屏幕的比例,(startx, starty): 這一坐標表示矩形窗口左上角頂點的位置, 如果為空,則窗口位于屏幕中心。
如:turtle.setup(width=0.6,height=0.6)
turtle.setup(width=800,height=800, startx=100, starty=100)
2.1 畫筆的狀態(tài)
在畫布上,默認有一個坐標原點為畫布中心的坐標軸,坐標原點上有一只面朝x軸正方向小烏龜。這里我們描述小烏龜時使用了兩個詞語:坐標原點(位置),面朝x軸正方向(方向), turtle繪圖中,就是使用位置方向描述小烏龜(畫筆)的狀態(tài)。
2.2 畫筆的屬性
畫筆(畫筆的屬性,顏色、畫線的寬度等)
1) turtle.pensize():設置畫筆的寬度;
2) turtle.pencolor():沒有參數(shù)傳入,返回當前畫筆顏色,傳入?yún)?shù)設置畫筆顏色,可以是字符串如"green", "red",也可以是RGB 3元組。
3) turtle.speed(speed):設置畫筆移動速度,畫筆繪制的速度范圍[0,10]整數(shù),數(shù)字越大越快。
2.3 繪圖命令
操縱海龜繪圖有著許多的命令,這些命令可以劃分為3種:一種為運動命令,一種為畫筆控制命令,還有一種是全局控制命令。
(1) 畫筆運動命令
(2) 畫筆控制命令
(3) 全局控制命令
(4) 其他命令
3. 命令詳解
3.1 turtle.circle(radius, extent=None, steps=None)
描述:以給定半徑畫圓
參數(shù):
radius(半徑):半徑為正(負),表示圓心在畫筆的左邊(右邊)畫圓;
extent(弧度) (optional);
steps (optional) (做半徑為radius的圓的內(nèi)切正多邊形,多邊形邊數(shù)為steps)。
舉例:
circle(50) # 整圓;
circle(50,steps=3) # 三角形;
circle(120, 180) # 半圓
實例:
1、太陽花
2、五角星
3、時鐘程序
1、python畫櫻花樹代碼為:
import turtle as T
import random
import time
2、# 畫櫻花的軀干(60,t)
def Tree(branch, t):
time.sleep(0.0005)
if branch 3:
if 8 = branch = 12:
if random.randint(0, 2) == 0:
t.color('snow') # 白
else:
t.color('lightcoral') # 淡珊瑚色
t.pensize(branch / 3)
elif branch 8:
if random.randint(0, 1) == 0:
t.color('snow')
else:
t.color('lightcoral') # 淡珊瑚色
t.pensize(branch / 2)
else:
t.color('sienna') # 赭(zhě)色
t.pensize(branch / 10) # 6
t.forward(branch)
a = 1.5 * random.random()
t.right(20 * a)
b = 1.5 * random.random()
Tree(branch - 10 * b, t)
t.left(40 * a)
Tree(branch - 10 * b, t)
t.right(20 * a)
t.up()
t.backward(branch)
t.down()
3、# 掉落的花瓣
def Petal(m, t):
for i in range(m):
a = 200 - 400 * random.random()
b = 10 - 20 * random.random()
t.up()
t.forward(b)
t.left(90)
t.forward(a)
t.down()
t.color('lightcoral') # 淡珊瑚色
t.circle(1)
t.up()
t.backward(a)
t.right(90)
t.backward(b)
# 繪圖區(qū)域
t = T.Turtle()
# 畫布大小
w = T.Screen()
t.hideturtle() # 隱藏畫筆
t.getscreen().tracer(5, 0)
w.screensize(bg='wheat') # wheat小麥
t.left(90)
t.up()
t.backward(150)
t.down()
t.color('sienna')
4、# 畫櫻花的軀干
Tree(60, t)
# 掉落的花瓣
Petal(200, t)
w.exitonclick()
導入海龜模塊
from turtle import *
基本二叉樹
初始值 :速度最快,隱藏海龜,設朝向90度,后退200
speed(0)
seth(90)
pu()
fd(-200)
pd()
ht()
遞歸函數(shù):多向遞歸
tree(d,n) d樹干長度,n遞歸深度
if n=1:
a=30
de=10
fd(d)
lt(a)
tree(d-de,n-1)
rt(a*2)
tree(d-de,n-1)
lt(a)
fd(-d)
tree(200,5)
隨機值:
import random as rd
隨機分叉角度a a=rd.randint(10,25)
隨機每叉遞減長度d de=rd.randint(5,12)
遞減值:
樹干越來越細
pensize(n//10)
條件值:
葉子變?yōu)榫G色
if n==1:pencolor('green')
else:pencolor('deepgreen')
末端加果實
if n=2:
fd(d)
dot(10,'red')
隨機分叉數(shù)m m=rd.randint(2,4)
你的exe應用沒有安全證書,360就會報錯的,我也遇到過。沒關系。網(wǎng)上下載的應用都是有安全證書的。你把360關了就行。