turtle方法匯總

  • 1 turtle.setheading(angle):海龜朝向,angle為度數(shù)【注意:與當(dāng)前海龜?shù)某驔]有關(guān)系侍郭,90度就一定向上】
turtle.setheading(90)#海龜?shù)某驗?0度即向上
turtle.setheading(-90)#海龜?shù)某驗?90度即向下
  • 2 turtle.left(angle) | lt(angle):繪制方向向左旋轉(zhuǎn)angle度
turtle.lt(45)#向左轉(zhuǎn)45度
turtle.lt(-45)#向右轉(zhuǎn)45度
  • 3 turtle.right(angle) | rt(angle):在海龜當(dāng)前頭的方向上再向右轉(zhuǎn)
turtle.rt(45) #向右轉(zhuǎn)45度
turtle.rt(-90)#向左轉(zhuǎn)90度
  • 4 turtle.forward(distance) | fd(distance) :前進(jìn);distance為整型或者浮點型
turtle.forward(100)#前進(jìn)100像素
turtle.forward(-100)#后退100像素
  • 5 turtle.backward(distance) | bk(distance) | back(distance):后退掠河;distance為整型或者浮點型
turtle.backward(200)#畫筆向繪制方向的相反方向移動200像素
turtle.backward(-200)#畫筆向繪制方向的方向移動200像素
  • 6 turtle.goto(x, y=None) | setpos(x, y=None) | setposition(x, y=None) :移動到某個位置亮元;參數(shù)為對應(yīng)點的坐標(biāo)
參數(shù)x(一個數(shù)字或者一個二維的數(shù)組)
參數(shù)y(一個數(shù)字或者為None)
如果y為None,x必須是一個二維的數(shù)組
turtle.setpos((20,80)) #移動到位置(20,80)
turtle.setposition(-120,20)#移動到位置(-120,20)
turtle.goto(60,30)#移動到位置(60,30)
turtle.goto(60,-30)#移動到位置(60,-30)
  • 7 turtle.setx(x):設(shè)置x坐標(biāo),x的值為整型或者浮點型
import turtle
turtle.penup()
turtle.setx(-200)
turtle.pendown()
turtle.left(90)
turtle.forward(100)
turtle.done()
[注意:在使用goto()和setx()、sety()的時候要記得先提筆唠摹,然后再移動爆捞,最后再落筆]
  • 8 turtle.sety(y):設(shè)置y坐標(biāo),y的值為整型或者浮點型
import turtle
turtle.penup()
turtle.sety(-200)
turtle.pendown()
turtle.left(90)
turtle.forward(100)
turtle.done()
  • 9 turtle.home():將位置和方向恢復(fù)到初始狀態(tài)勾拉,位置初始坐標(biāo)為(0,0)
turtle.home()
  • 10 turtle.circle(radius, extent=None, steps=None):\color{red}{默認(rèn)情況下煮甥,按給定的半徑畫圓,當(dāng)前位置為圓的初始端點}\

參數(shù):
radius : 圓半徑藕赞,數(shù)值為整型或者浮點型成肘,為正數(shù)則逆時針畫,為負(fù)數(shù)則順時針畫斧蜕,方向隨著軌跡的變化而變化

import turtle
turtle.circle(5.5)

extent : 一個角度,其值可以是整型双霍、浮點型或者None,決定哪部分圓圈被繪制,不提供extent表示畫完整的圓,值為正是沿著畫筆方向畫批销,值為負(fù)沿著畫筆反方向畫

import turtle
turtle.circle(100, 120)
turtle.done()
import turtle
turtle.circle(100, -120)
turtle.done()

steps:邊數(shù)洒闸,其值為整型或者None,指定半徑radius前提下,完成extent的角度時均芽,分了幾步

#逆時針方向半徑為40畫五邊形(5步畫接近整圓的圖形)
turtle.circle(40, None, 5)
  • 11 turtle.dot(size=None, color):繪制一個直徑為size丘逸,顏色為color的圓點
    參數(shù):
    size:一個整型數(shù),如果指定時掀宋,size>=1;如果未指定深纲,即為None,那么取pensize+4 和 2
    pensize中的最大值
    color:一個顏色字符串或顏色數(shù)值元組,未指定則是畫筆顏色
import turtle
turtle.dot(50, "blue")
turtle.done()
  • 12 turtle.stamp()和turtle.clearstamp(stamp_id)和turtle.clearstamp(n=None)
    turtle.stamp(): 是在當(dāng)前位置拷貝一份此時箭頭的形狀布朦,返回一個stamp_id(int型)
    turtle.clearstamp(stamp_id): 用來刪除指定stamp_id的箭頭形狀
    turtle.clearstamps(n=None),n為None時表示刪除所有拷貝的箭頭形狀囤萤;n=0不刪除;n>0表示刪除前n個是趴;n<0表示刪除后n個涛舍;
#讓我們先看一下turtle.stamp()的作用
import turtle
#畫筆顏色設(shè)為紅色
turtle.color("red")
#定義一個顏色列表
color = ['blue', 'yellow', 'red', 'green', 'gray']
num = 0
while num < 5:
    #當(dāng)前位置拷貝一份箭頭形狀,也就是在當(dāng)前的位置留下一個箭頭的形狀
    stamp_id = turtle.stamp()
    #在這里我們?yōu)榱俗R別方便改變一下畫筆的顏色
    turtle.color(color[num])
    #前進(jìn)100像素
    turtle.fd(100)
    num += 1
turtle.done()
#接下來,我們來看一下turtle.clearstamp(stamp_id)的作用
import turtle
#畫筆顏色設(shè)為紅色
turtle.color("red")
#定義一個顏色列表
color = ['blue', 'yellow', 'red', 'green', 'gray']
num = 0
while num < 5:
    #當(dāng)前位置拷貝一份箭頭形狀,也就是在當(dāng)前的位置留下一個箭頭的形狀
    stamp_id = turtle.stamp()
    #在這里我們?yōu)榱俗R別方便改變一下畫筆的顏色
    turtle.color(color[num])
    #前進(jìn)100像素
    turtle.fd(100)
    num += 1
#刪除拷貝的箭頭形狀(此處id最后一次復(fù)制的stamp_id)
turtle.clearstamp(stamp_id)
turtle.done()
#還可以這樣實現(xiàn)
import turtle
#畫筆顏色設(shè)為紅色
turtle.color("red")
#定義一個顏色列表
color = ['blue', 'yellow', 'red', 'green', 'gray']
num = 0
while num < 5:
    #當(dāng)前位置拷貝一份箭頭形狀,也就是在當(dāng)前的位置留下一個箭頭的形狀
    stamp_id = turtle.stamp()
    #在這里我們?yōu)榱俗R別方便改變一下畫筆的顏色
    turtle.color(color[num])
    #前進(jìn)100像素
    turtle.fd(100)
    num += 1
#檢查stamp_id
print(stamp_id) #12
#刪除拷貝的箭頭形狀(此處id最后一次復(fù)制的stamp_id)
turtle.clearstamp(12)
turtle.done()
turtle.clearstamp(stamp_id)的圖
#最后我們再來看一下turtle.clearstamps(n)的作用
import turtle
#畫筆顏色設(shè)為紅色
turtle.color("red")
#定義一個顏色列表
color = ['blue', 'yellow', 'red', 'green', 'gray']
num = 0
while num < 5:
    #當(dāng)前位置拷貝一份箭頭形狀,也就是在當(dāng)前的位置留下一個箭頭的形狀
    stamp_id = turtle.stamp()
    #在這里我們?yōu)榱俗R別方便改變一下畫筆的顏色
    turtle.color(color[num])
    #前進(jìn)100像素
    turtle.fd(100)
    num += 1
#刪除前一個
turtle.clearstamps(1)#刪除第一個拷貝的形狀
turtle.done()
turtle.clearstamps(1)
import turtle
#畫筆顏色設(shè)為紅色
turtle.color("red")
#定義一個顏色列表
color = ['blue', 'yellow', 'red', 'green', 'gray']
num = 0
while num < 5:
    #當(dāng)前位置拷貝一份箭頭形狀,也就是在當(dāng)前的位置留下一個箭頭的形狀
    stamp_id = turtle.stamp()
    #在這里我們?yōu)榱俗R別方便改變一下畫筆的顏色
    turtle.color(color[num])
    #前進(jìn)100像素
    turtle.fd(100)
    num += 1
#刪除后一個
turtle.clearstamps(-1)#刪除最后一個拷貝形狀
turtle.done()
turtle.clearstamps(-1)
import turtle
#畫筆顏色設(shè)為紅色
turtle.color("red")
#定義一個顏色列表
color = ['blue', 'yellow', 'red', 'green', 'gray']
num = 0
while num < 5:
    #當(dāng)前位置拷貝一份箭頭形狀,也就是在當(dāng)前的位置留下一個箭頭的形狀
    stamp_id = turtle.stamp()
    #在這里我們?yōu)榱俗R別方便改變一下畫筆的顏色
    turtle.color(color[num])
    #前進(jìn)100像素
    turtle.fd(100)
    num += 1
#全部刪除
turtle.clearstamps()#刪除全部拷貝形狀
turtle.done()
turtle.clearstamps()
import turtle
#畫筆顏色設(shè)為紅色
turtle.color("red")
#定義一個顏色列表
color = ['blue', 'yellow', 'red', 'green', 'gray']
num = 0
while num < 5:
    #當(dāng)前位置拷貝一份箭頭形狀,也就是在當(dāng)前的位置留下一個箭頭的形狀
    stamp_id = turtle.stamp()
    #在這里我們?yōu)榱俗R別方便改變一下畫筆的顏色
    turtle.color(color[num])
    #前進(jìn)100像素
    turtle.fd(100)
    num += 1
#不刪除
turtle.clearstamps(0)
turtle.done()
turtle.clearstamps(0)
  • 13 turtle.undo():每調(diào)用一次就撤銷最后的一次動作唆途,需要撤銷所有可通過while turtle.undobufferentries()富雅,turtle.undobufferentries():返回當(dāng)前可撤銷的次數(shù)
import turtle
#畫筆顏色設(shè)為紅色
turtle.color("red")
#定義一個顏色列表
color = ['blue', 'yellow', 'red', 'green', 'gray']
num = 0
while num < 5:
    #當(dāng)前位置拷貝一份箭頭形狀,也就是在當(dāng)前的位置留下一個箭頭的形狀
    stamp_id = turtle.stamp()
    #在這里我們?yōu)榱俗R別方便改變一下畫筆的顏色
    turtle.color(color[num])
    #前進(jìn)100像素
    turtle.fd(100)
    num += 1
#不刪除
turtle.clearstamps(0)
#一直撤銷最后一個動作直到不可撤銷
while turtle.undobufferentries():
    #撤銷最后的一次動作
    turtle.undo()
turtle.done()
  • 14 turtle.speed(speed=None)
    參數(shù):
    speed:是0-10的整數(shù)(1-10越來越快掸驱,0表示最快,參數(shù)為小數(shù)會被自動置為整數(shù))或者如下內(nèi)置的速度字符串;(1)如果>10或者<0.5則被置換為0没佑,(2)為>=0.5的小數(shù)時被置為四舍五入的值毕贼。(3)speed未設(shè)置則返回當(dāng)前速度

內(nèi)置的速度字符串:
“fastest”:0
“fast”:10
“normal”:6
“slow”:3
“slowest”:1

  • 15 turtle.position() | pos():返回(海龜)箭頭當(dāng)前位置坐標(biāo)
import turtle
print(turtle.pos())#(0.00,0.00)
  • 16 turtle.towards(x, y=None):返回(海龜)箭頭當(dāng)前位置指向(x,y)位置連線的向量的角度(取決于當(dāng)前模式,“standard”/”world”默認(rèn)方向向右(即東)逆時針開始;“l(fā)ogo”模式默認(rèn)方向向上(即北)順時針開始)

參數(shù):
x:x可以是一個number或者一個二維的數(shù)組或者一個turtle instence(海龜實例)
y:x是一個number,y就是一個number;否則y為None

import turtle
turtle.goto(20, 20)
#移動后,位置為(20,20),兩個向量分別是(20,20)點到(0,0)點的向量和(20,20)點到箭頭當(dāng)前方向的向量
angle = turtle.towards(0, 0)
print("兩向量角度:", angle)#225.0

angle = turtle.towards((0, 0))
print("兩向量角度:", angle)#225.0

turtle1 = turtle.Turtle()
turtle1.setpos(0, 0)
angle = turtle.towards(turtle1)
print("兩向量角度:", angle)#225.0

turtle1 = turtle.Turtle()
turtle1.setpos(0, 0)
angle = turtle1.towards(turtle1)
print("兩向量角度:", angle)#0.0

turtle2 = turtle.Turtle()
turtle2.setpos(50, 50)
angle = turtle1.towards(turtle2)
print("兩向量角度:", angle) #45.0
  • 17 turtle.xcor():返回箭頭的x坐標(biāo)蛤奢;turtle.ycor():返回箭頭的y坐標(biāo)鬼癣;
import turtle
turtle.lt(50)
turtle.fd(100)
#打印箭頭當(dāng)前坐標(biāo)
print(turtle.pos())  #(64.28,76.60)
print(round(turtle.xcor(), 5))#保留5位讀取x坐標(biāo) 64.27876
print(round(turtle.ycor(), 5))#保留5位讀取y坐標(biāo) 76.60444
  • 18 turtle.heading():返回當(dāng)前(海龜)箭頭方向角度
import turtle
turtle.lt(50)
turtle.fd(100)
print(turtle.heading()) #50.0
  • 19 turtle.distance(x, y=None):返回當(dāng)前(海龜)箭頭坐標(biāo)與坐標(biāo)(x,y)間距離或者當(dāng)前(海龜)箭頭坐標(biāo)與另一個(海龜)箭頭坐標(biāo)間距離

參數(shù):
x : x可以是一個number或一個二維數(shù)組,或者一個turtle instance(海龜實例)
y : x是一個number啤贩,y就是一個number,否則y為None

import turtle
turtle.home()
print(turtle.distance(30, 40))#距離為50.0
print(turtle.distance((30, 40)))#距離為50.0
joe = turtle.Turtle()
joe.setpos(30, 40)
print(turtle.distance(joe))#距離為50.0
  • 20 turtle.degrees(fullcircle=360.0) 和 turtle.radians()
    turtle.degrees:表示設(shè)置一個完整圓的“度數(shù)”待秃。默認(rèn)為360度,參數(shù)fullcircle(number類型)痹屹,如果是360度的90度章郁,改整圓為400度,則此時角度為100度志衍;

turtle.radians():表示將一個完整圓的“度數(shù)”設(shè)置成2π暖庄,如果是360度的90度,那么此時的角度時π/2;

import turtle
turtle.home()
turtle.left(90)
print(turtle.heading())#90.0
turtle.degrees(400.0)#100.0
print(turtle.heading())#90.0
turtle.degrees(360)
print(turtle.heading())
turtle.radians()
print(turtle.heading())#1.5707963267948966
  • 21 turtle.penup() | turtle.up() | turtle.pu():畫筆抬起楼肪,此時移動不會進(jìn)行繪制操作
turtle.pu()
  • 22 turtle.pendown() | turtle.down() | turtle.pd():畫筆按下培廓,此時移動會進(jìn)行繪制操作
turtle.pd()
  • 23 turtle.width(width=None) | turtle.pensize(width=None):設(shè)置或返回線的粗細(xì)(width=None時表示返回,不為None表示設(shè)置)淹辞,注意如果resizemode設(shè)置成“auto”并且繪制的是多邊形医舆,則多邊形繪制時使用的是粗細(xì)相同的線條
import turtle
#設(shè)置畫筆的尺寸
turtle.pensize(5)
#打印返回畫筆尺寸的大小
print(turtle.pensize()) #5
  • 24 turtle.pen(pen=None, **pendict):設(shè)置或返回畫筆字典中對應(yīng)的畫筆屬性(一個鍵值對)

參數(shù):
pen:畫筆的樣式,默認(rèn)None是初始的狀態(tài)象缀,可以將別的畫筆的實例對象作為畫筆的樣式
pendict(畫筆字典鍵值對):如下
"fillcolor": color-string or color-tuple
"outline":positive number
"pencolor": color-string or color-tuple
"pendown":True/False
"pensize": positive number
"resizemode":"auto" or "user" or "noresize"
"shearfactor":number
"shown":True/False
"speed":number in range 0..10
"stretchfactor" : (positive number, positive number)
"tilt":number

import turtle
#默認(rèn)情況
print(turtle.pen())#{'shown': True, 'pendown': True, 'pencolor': 'black', 'fillcolor': 'black', 'pensize': 1, 'speed': 3, 'resizemode': 'noresize', 'stretchfactor': (1.0, 1.0), 'shearfactor': 0.0, 'outline': 1, 'tilt': 0.0}
#進(jìn)行設(shè)置
turtle.pen(fillcolor="black", pencolor="red", pensize=10)
#設(shè)置后的結(jié)果
print(turtle.pen())#{'shown': True, 'pendown': True, 'pencolor': 'red', 'fillcolor': 'black', 'pensize': 10, 'speed': 3, 'resizemode': 'noresize', 'stretchfactor': (1.0, 1.0), 'shearfactor': 0.0, 'outline': 1, 'tilt': 0.0}
turtle.fd(100)
penstate=turtle.pen()#創(chuàng)建畫筆的實例對象
#設(shè)置畫筆的屬性
turtle.pen(penstate, fillcolor="green")
  • 25 turtle.isdown():獲取畫筆是否按下蔬将,按下返回True,否則返回False
import turtle
turtle.penup()#抬筆
print(turtle.isdown())#False
turtle.pendown()#落筆
print(turtle.isdown())#True
  • 26 turtle.pencolor(*args):設(shè)置或返回畫筆的顏色(設(shè)置后海龜箭頭的外輪廓也是這個顏色)
import turtle
#返回畫筆顏色
print(turtle.pencolor())
#設(shè)置畫筆的顏色
turtle.pencolor("red")
turtle.fd(50)
#設(shè)置畫筆顏色
turtle.pencolor("#33cc8c")
turtle.fd(50)
#pencolor(r,g,b)或pencolor((r,g,b))語法設(shè)置畫筆顏色,取決于顏色模式央星,colormode為1.0時r,g,b取值范圍在0-1.0小數(shù)霞怀,colormode為255時r,g,b取值范圍在0-255的整數(shù)
turtle.getscreen().colormode(1.0)
#打印顏色模式
print(turtle.getscreen().colormode())
turtle.pencolor(0.1, 0.2, 0)
turtle.fd(50)
turtle.getscreen().colormode(255)
#打印顏色模式
print(turtle.getscreen().colormode())
turtle.pencolor(30, 210, 180)
turtle.fd(50)
  • 27 turtle.fillcolor(*args) :返回或設(shè)置畫筆填充顏色(設(shè)置后海龜箭頭內(nèi)部填充也是這個顏色)
import turtle
print(turtle.fillcolor())
screen = turtle.getscreen()
#設(shè)置填充顏色
turtle.fillcolor("red")
turtle.fd(50)
#設(shè)置填充顏色
turtle.fillcolor("#33cc8c")
turtle.fd(50)
# fillcolor(r, g, b)fillcolor((r, g, b))語法設(shè)置畫筆顏色,取決于顏色模式,colormode顏色模式取值1.0或255,colormode為1.0時r,g,b取值范圍0-1.0小數(shù);colormode為255時r,g,b取值范圍0-255的整數(shù)
#設(shè)置填充顏色模式
screen.colormode(1.0)
#打印顏色模式
print(screen.colormode())
turtle.fillcolor(0.1, 0.2, 0)
turtle.fd(50)
#設(shè)置填充顏色模式
screen.colormode(255)
#打印填充顏色模式
print(screen.colormode())
turtle.fillcolor(30, 210, 180)
turtle.fd(50)
  • 28 turtle.color(*args):設(shè)置或返回pencolor和fillcolor
import turtle
#返回pencolor和fillcolor()
print(turtle.color()) #('black', 'black')
turtle.color("red")
print(turtle.color()) #('red', 'red')
turtle.color("#285078", "#a0c8f0")
print(turtle.color()) #((0.1568627450980392, 0.3137254901960784, 0.47058823529411764), (0.6274509803921569, 0.7843137254901961, 0.9411764705882353))
turtle.color("red", "green")
print(turtle.color())#('red', 'green')
  • 29 turtle.filling()返回填充狀態(tài)(填充狀態(tài)則返回True,否則返回False)、開始填充圖形之前先調(diào)用turtle.begin_fill()莉给、填充完圖形后調(diào)用turtle.end_fill()
import turtle
#返回填充狀態(tài)False
print(turtle.filling())
#繪制shape之前先準(zhǔn)備開始fill
turtle.begin_fill()
#返回填充狀態(tài)True
print(turtle.filling())
turtle.circle(20, None, 6)
#繪制完shape之后結(jié)束fill
turtle.end_fill()
#返回False
print(turtle.filling())

[注意:screen其實是TurtleScreen對象的實例毙石,使用screen是要通過screen = turtle.getscreen()得到]

  • 30 turtle.reset() | turtle.resetscreen() | screen.reset() | screen.resetscreen():從屏幕中刪除指定海龜?shù)睦L圖,海龜回到原點并設(shè)置所有變量為默認(rèn)值颓遏,即位置恢復(fù)到原點(0, 0)位置徐矩,“standard”/"world"模式方向恢復(fù)到默認(rèn)的向右;“l(fā)ogo”模式方向恢復(fù)到默認(rèn)的向上
import turtle
#返回填充狀態(tài)False
print(turtle.filling())
#繪制shape之前先準(zhǔn)備開始fill
turtle.begin_fill()
#返回填充狀態(tài)True
print(turtle.filling())
turtle.circle(20, None, 6)
#繪制完shape之后結(jié)束fill
turtle.end_fill()
#返回False
print(turtle.filling())
#turtle.reset()
screen = turtle.getscreen()
screen.reset()
turtle.done()
  • 31 turtle.clear():從屏幕中刪除指定海龜?shù)睦L圖叁幢。不移動海龜滤灯。海龜?shù)臓顟B(tài)和位置以及其他海龜?shù)睦L圖不受影響
import turtle
#返回填充狀態(tài)False
print(turtle.filling())
#繪制shape之前先準(zhǔn)備開始fill
turtle.begin_fill()
#返回填充狀態(tài)True
print(turtle.filling())
turtle.circle(20, None, 6)
#繪制完shape之后結(jié)束fill
turtle.end_fill()
turtle.rt(90)
turtle.forward(100)

turtle1 = turtle.Turtle()
turtle1.goto(100, 200)
turtle1.forward(100)
#返回False
print(turtle.filling())
turtle.clear()
turtle1.reset()
turtle.done()
  • 32 turtle.write(arg, move=False, align="left", font=("Arial", 8, "normal")):繪制文本
    參數(shù):
    arg:書寫的內(nèi)容
    move:True/False:如果move為True,則畫筆會移動到文本的右下角,這樣文字就不會疊在一起了
    align: 指定對齊方式("left","center"或"right")
    font: 一個三元組 (fontname, fontsize, fonttype)設(shè)置字體
import turtle
turtle.write("home=", True, align="center")
turtle.write((0,500000), True)
turtle.write("hellohhhhh", True)
turtle.done()
import turtle
turtle.write("home=", True, align="center")
turtle.write((0,500000), False)
turtle.write("hellohhhhh", False)
turtle.done()
  • 33 turtle.hideturtle() | turtle.ht():隱藏畫筆(即海龜箭頭)鳞骤,此時只要畫筆是按下狀態(tài)窒百,雖然隱藏了但是還是能繪制圖形的,復(fù)雜的快速繪圖時效果顯著
turtle.hideturtle()
  • 34 turtle.showturtle() | turtle.st():顯示畫筆(即海龜箭頭)
turtle.showturtle()
  • 35 turtle.isvisible():返回(海龜)畫筆當(dāng)前是否是可見狀態(tài)豫尽,可見返回True,否則返回False
import turtle
turtle.hideturtle()
print(turtle.isvisible())#False
turtle.showturtle()
print(turtle.isvisible())#True
  • 36 turtle.shape(name=None):設(shè)置或返回(海龜)畫筆箭頭形狀名
    參數(shù):name---形狀名篙梢,必須在TurtleScreen的形狀字典中,如(粗細(xì)箭頭1)“arrow”,(海龜箭頭)“turtle”,(實心圓箭頭)“circle”,(實心方形箭頭)“square”,(粗大箭頭2)“triangle”,默認(rèn)的箭頭“classic”
import turtle
print(turtle.shape())#classic
turtle.shape("turtle")
print(turtle.shape())#turtle
  • 37 turtle.resizemode(rmode=None):設(shè)置或返回(海龜)畫筆箭頭大小的縮放模式
    參數(shù):
    rmode---"auto", "user","noresize",3選1美旧,具體說明如下:
    “auto”:此模式下(海龜)畫筆箭頭隨pensize變化而變化
    “user”:此模式(海龜)畫筆箭頭大小取決于【通過shapesize()進(jìn)行設(shè)置的】
    “noresize”:此模式下(海龜)畫筆箭頭大小不變
  • 38 turtle.shapesize(stretch_wid=None, stretch_len=None, outline=None) | turtle.turtlesize(stretch_wid=None, stretch_len=None, outline=None):返回或設(shè)置畫筆x/y方向拉伸值和shape輪廓寬度渤滞,僅當(dāng)resizemode為“user”模式時有有效
import turtle
import time
#設(shè)置外輪廓顏色為red,填充色為black
turtle.pen(pencolor="red", fillcolor="black")
print(turtle.shapesize())#(1.0, 1.0, 1)表示垂直方向縮放到原來1倍,水平方向縮放到原來1倍陈症,外輪廓寬度為1
#設(shè)置resizemode為“user”模式
turtle.resizemode("user")
#表示垂直方向縮放到原來5倍蔼水,水平方向縮放到原來5倍震糖,外輪廓寬度12
turtle.shapesize(5, 5, 12)
time.sleep(2)
print(turtle.shapesize())
#設(shè)置輪廓寬度為8
turtle.shapesize(outline=8)
time.sleep(2)
print(turtle.shapesize())
  • 39 turtle.shearfactor(shear=None):設(shè)置或返回剪切因子
    參數(shù):
    shear---number(optional)
import turtle
import time
#箭頭改成圓形
turtle.shape("circle")
#垂直縮放到5倍录肯,水平縮放到2倍
turtle.shapesize(5, 2)
print(turtle.shearfactor())
time.sleep(2)
#創(chuàng)建另一個(海龜)箭頭,和原來的拉開距離
t1 = turtle.Turtle()
t1.pu()
t1.fd(100)
t1.pd()
t1.shape("circle")
#垂直縮放到5倍吊说,水平縮放到2倍
t1.shapesize(5, 2)
#設(shè)置shearfactor為1
t1.shearfactor(1)#設(shè)置箭頭與x軸的正切值為1,箭頭與x軸的夾角為45度
print(t1.shearfactor())
turtle.done()
  • 40 turtle.tilt(angle):保持箭頭方向不變的前提下论咏,旋轉(zhuǎn)箭頭形狀
    參數(shù):
    angle---a number箭頭圖標(biāo)在現(xiàn)有角度基礎(chǔ)上再旋轉(zhuǎn)的角度,比如當(dāng)前為45度颁井,此基礎(chǔ)45度變成90度
import turtle
#清屏并恢復(fù)原始坐標(biāo)位置(0,0)厅贪,恢復(fù)默認(rèn)方向向右
turtle.reset()
#改變箭頭形狀為圓形
turtle.shape("circle")
#垂直縮放到5倍,水平縮放到2倍
turtle.shapesize(5, 2)
#保持方向向右雅宾,圓形箭頭圖標(biāo)旋轉(zhuǎn)45度
turtle.tilt(45)
#畫線
turtle.fd(100)
#拷貝一份箭頭形狀
turtle.stamp()
#保持方向向右养涮,圓形箭頭圖標(biāo)旋轉(zhuǎn)45度
turtle.tilt(45)
#畫線
turtle.fd(100)
turtle.done()
  • 41 turtle.tiltangle(angle=None):獲取或設(shè)置(保持箭頭方向不變的前提下)旋轉(zhuǎn)箭頭形狀的角度
import turtle
#清屏并恢復(fù)原始坐標(biāo)位置(0,0),恢復(fù)默認(rèn)方向向右
turtle.reset()
#改變箭頭形狀為圓形
turtle.shape("circle")
#垂直縮放到5倍眉抬,水平縮放到2倍
turtle.shapesize(5, 2)
#保持方向向右贯吓,圓形箭頭圖標(biāo)旋轉(zhuǎn)45度
turtle.tilt(45)
#畫線
turtle.fd(100)
#拷貝一份箭頭形狀
turtle.stamp()
#保持方向向右,忽略當(dāng)前箭頭旋轉(zhuǎn)的角度,圓形箭頭圖標(biāo)旋轉(zhuǎn)45度
turtle.tiltangle(45)
print(turtle.tiltangle())
#畫線
turtle.fd(100)
turtle.done()
  • 42 turtle.shapetransform(t11=None, t12=None, t21=None, t22=None):返回或設(shè)置箭頭形狀的當(dāng)前變換矩陣
    參數(shù):
    t11--- a number(optional)
    t12--- a number(optional)
    t21--- a number(optional)
    t22--- a number(optional)
import turtle
print(turtle.shapetransform())#(1.0, 0.0, 0.0, 1.0)
turtle.shape("square")
#垂直方向縮放到4倍蜀变,水平縮放到2倍悄谐,正方形變長方形
turtle.shapesize(4, 2)
turtle.shearfactor(0.5)
print(turtle.shapetransform())#(4.0, 1.0, -0.0, 2.0)
turtle.done()
  • 43 turtle.get_shapepoly():返回當(dāng)前多邊形的坐標(biāo)對,一般用來定義一個新形狀或作為一個復(fù)合形狀的一部分
import turtle
turtle.shape("square")
print(turtle.get_shapepoly())#((10, -10), (10, 10), (-10, 10), (-10, -10))
turtle.shapetransform(4, -1, 0, 2)
print(turtle.get_shapepoly())#((50, -20), (30, 20), (-50, 20), (-30, -20))
  • 44 turtle.onclick(fun, btn=1, add=None):首先綁定函數(shù)库北,畫布上鼠標(biāo)左鍵在當(dāng)前海龜箭頭位置按下時觸發(fā)調(diào)用函數(shù)爬舰;如果函數(shù)為None,則移除存在的綁定;
    參數(shù):
    fun---一個有兩個參數(shù)x,y的函數(shù)寒瓦,畫布上鼠標(biāo)左鍵在當(dāng)前海龜箭頭位置按下時將點擊的坐標(biāo)作為參數(shù)情屹,調(diào)用該方法;
    btn---鼠標(biāo)按鈕杂腰,默認(rèn)為1(鼠標(biāo)左鍵垃你,2,3分別對應(yīng)鼠標(biāo)中鍵和右鍵)
    add---True或False,如果是True,將添加一個新的綁定;否則將替換之前綁定
import turtle
def turn(x, y):
    turtle.lt(90)
    #打印當(dāng)前坐標(biāo)
    print('x=', x, 'y=', y)
    #打印當(dāng)前方向
    print(turtle.heading())
    #清除綁定關(guān)系
    turtle.onclick(None)
    #再次綁定
    turtle.onclick(turn)
turtle.onclick(turn)
turtle.done()
  • 45 turtle.onrelease(fun, btn=1, add=None):首先綁定函數(shù),然后畫布上鼠標(biāo)左鍵在當(dāng)前海龜箭頭位置松開時觸發(fā)調(diào)用一個函數(shù)蜡镶;如果函數(shù)為None雾袱,則移除存在的綁定
    參數(shù):
    fun---一個有兩個參數(shù)x,y的函數(shù),畫布上鼠標(biāo)左鍵在當(dāng)前海龜箭頭位置按下時將點擊的坐標(biāo)作為參數(shù)官还,調(diào)用該方法芹橡;
    btn---鼠標(biāo)按鈕,默認(rèn)為1(鼠標(biāo)左鍵望伦,2,3分別對應(yīng)鼠標(biāo)中鍵和右鍵)
    add---True或False,如果是True,將添加一個新的綁定林说;否則將替換之前綁定
import turtle
def turn(x, y):
    turtle.lt(90)
    #打印當(dāng)前坐標(biāo)
    print('x=', x, 'y=', y)
    #打印當(dāng)前方向
    print(turtle.heading())
    #清除綁定關(guān)系
    turtle.onrelease(None)
    #再次綁定
    turtle.onrelease(turn)
#綁定turn方法
turtle.onrelease(turn)
turtle.done()

【注意:當(dāng)調(diào)用onclick和onrelease方法時就完成了綁定,當(dāng)鼠標(biāo)點擊或松開就會觸發(fā)對應(yīng)的函數(shù)事件】

  • 46 turtle.ondrag(fun, btn=1, add=None):當(dāng)調(diào)用時首先完成綁定屯伞,然后畫布上鼠標(biāo)左鍵在當(dāng)前箭頭位置按下并拖動時觸發(fā)調(diào)用一個函數(shù)腿箩;如果函數(shù)為None,則移除存在的綁定
    參數(shù):
    fun---一個有兩個參數(shù)x,y的函數(shù),畫布上鼠標(biāo)左鍵在當(dāng)前海龜箭頭位置按下時將點擊的坐標(biāo)作為參數(shù)劣摇,調(diào)用該方法珠移;
    btn---鼠標(biāo)按鈕,默認(rèn)為1(鼠標(biāo)左鍵末融,2,3分別對應(yīng)鼠標(biāo)中鍵和右鍵)
    add---True或False,如果是True,將添加一個新的綁定钧惧;否則將替換之前綁定
import turtle
def move(x, y):
    #海龜箭頭移動到當(dāng)前拖動位置
    turtle.goto(x, y)
    #清除綁定關(guān)系
    turtle.ondrag(None)
    #再次綁定
    turtle.ondrag(move)
#綁定turn方法
turtle.ondrag(move)
turtle.done()
  • 47 turtle.begin_poly()、turtle.end_poly()和turtle.get_poly()配合使用
    turtle.begin_poly():表示開始記錄多邊形第一個頂點
    turtle.end_poly():表示結(jié)束記錄多邊形頂點
    turtle.get_poly():表示獲取最后記錄的多邊形(返回的是多邊形的各個頂點的坐標(biāo))
import turtle
turtle.home()
#開始記錄
turtle.begin_poly()
turtle.fd(100)
turtle.lt(20)
turtle.fd(30)
turtle.lt(60)
turtle.fd(50)
#結(jié)束記錄
turtle.end_poly()
#返回記錄的多邊形
p = turtle.get_poly()
print(p) #((0.00,0.00), (100.00,0.00), (128.19,10.26), (136.87,59.50))
#將"myFavouriteShape"Shape添加TurtleScreen對象的shapelist中
turtle.register_shape("myFavouriteShape", p)
#使用新添加的shape
turtle.shape("myFavouriteShape")
turtle.done()
  • 48 turtle.clone():創(chuàng)建和返回具有相同位置勾习、方向和海龜箭頭屬性的海龜?shù)目寺?/li>
import turtle
mick = turtle.Turtle()
joe = mick.clone()
  • 49 turtle.getturtle() | turtle.getpen():返回當(dāng)前海龜屏幕上第一個海龜對象本身
import turtle
pet = turtle.getturtle()
pet.fd(50)
print(pet)#<turtle.Turtle object at 0x00000000025482E8>
  • 50 turtle.getscreen():返回繪制這海龜?shù)暮}斊聊粚ο笈ǖ桑@取該對象后就可以調(diào)用海龜屏幕對象的一些方法了
import turtle
#獲取海龜屏幕TurtleScreen對象
ts = turtle.getscreen()
print(ts)#<turtle._Screen object at 0x000000000258C898>
#調(diào)用海龜屏幕對象的bgcolor方法,設(shè)置背景顏色為粉紅色
ts.bgcolor("pink")
turtle.done()
  • 51 turtle.setundobuffer(size):設(shè)置或者禁止撤銷功能巧婶,size為None表示禁止撤銷功能乾颁;否則設(shè)置多大,就可以通過調(diào)用undo()方法撤銷多少次
    參數(shù):
    size---an integer[設(shè)置undo()可撤銷的最大次數(shù)]或None[禁止undo()撤銷功能]
turtle.setundobuffer(42)
  • 52 turtle.undobufferentries():獲取當(dāng)前剩余可撤銷次數(shù)
import turtle
print(turtle.undobufferentries())#0
turtle.setundobuffer(42)
while turtle.undobufferentries():#判斷是否可撤銷
    turtle.undo()#執(zhí)行撤銷操作

【海龜屏幕(TurtleScreen/Screen)的相關(guān)方法:首先需要通過screen = turtle.getscreen()獲取到海龜屏幕TurtleScreen的對象并賦值給變量screen,下文中screen均表示該海龜屏幕TurtleScreen的對象】

  • 53 screen.bgcolor(*args):設(shè)置或返回海龜屏幕TurtleScreen的背景色
    args---一個顏色字符串或3個范圍是0-colormode的數(shù)字或三個元組
import turtle
screen = turtle.getscreen()
screen.bgcolor("orange")
#打印‘orange’
print(screen.bgcolor())
screen.bgcolor("#800080")
print(screen.bgcolor())
  • 54 screen.bgpic(picname=None):設(shè)置/刪除背景圖片或返回當(dāng)前的背景圖片名
    參數(shù):
    picname--- 一個gif的字符串名字或"nopic"字符串或None
    git圖片名:表示設(shè)置海龜屏幕TurtleScreen的背景圖像
    "nopic":表示刪除海龜屏幕TurtleScreen的背景圖像
    "None":表示返回海龜屏幕TurtleScreen的背景圖像的名稱
import turtle
screen = turtle.getscreen()
#打印當(dāng)前背景圖像名艺栈,打印結(jié)果為'nopic'
print(screen.bgpic())
#設(shè)置背景圖像英岭,h.gif需要提前放到該文件同級目錄
screen.bgpic("h.gif")
#打印當(dāng)前背景圖像名,打印結(jié)果為"h.gif"
print(screen.bgpic())
# screen.bgpic('nopic')
#打印當(dāng)前背景圖像名眼滤,打印結(jié)果為'nopic'
# print(screen.bgpic())
turtle.done()

【注意:背景圖片只能是gif格式巴席,所以我們需要預(yù)先下載gif格式的照片,通過更改后綴的方式诅需,并不能完成圖片格式的更改】

  • 55 screen.screensize(canvwidth=None, canvheight, bg=None):如果沒給出參數(shù)漾唉,則返回當(dāng)前的畫布大小(canvwidth, canvheight);否則表示調(diào)整畫布的大小
import turtle
screen = turtle.getscreen()
#打印當(dāng)前畫布大小,結(jié)果為(400,300)
print(screen.screensize())
#調(diào)整畫布大小堰塌,變大后出現(xiàn)了滾動條赵刑,可通過滑動滑塊查看畫布隱藏的部分
screen.screensize(2000, 1500)
#打印當(dāng)前畫布大小,結(jié)果為(2000,1500)
print(screen.screensize())
turtle.done()
  • 56 screen.setworldcoordinates(llx, lly, urx, ury):設(shè)置用戶自定義的坐標(biāo)系統(tǒng)场刑,如果必要的話需要切換到“world”模式般此,如果"world"模式已經(jīng)是活動,則會根據(jù)新的坐標(biāo)繪制圖紙
    參數(shù):
    llx---畫布左下角x坐標(biāo)(number型)
    lly---畫布左下角y坐標(biāo)(number型)
    urx--畫布右上角x坐標(biāo)(number型)
    ury--畫布右上角y坐標(biāo)(number型)
    【注意:在用戶自定義的坐標(biāo)系統(tǒng)中,角度可能會出現(xiàn)扭曲】
import turtle
screen = turtle.getscreen()
# 獲取當(dāng)前海龜模式,打印結(jié)果為 logo
print(screen.mode())
turtle.shape("turtle")
# 清屏,位置方向恢復(fù)初始狀態(tài),保持海龜箭頭形狀不變
screen.reset()
# 設(shè)置海龜模式為"world"模式,感覺設(shè)不設(shè)置"world"模式展現(xiàn)效果沒啥區(qū)別
screen.mode("world")
screen.setworldcoordinates(-50, -7.5, 50, 7.5)
for _ in range(72):
    turtle.lt(10)
for _ in range(8):
    turtle.lt(45)
    turtle.fd(2)
  • 57 turtle.delay(delay=None):設(shè)置或返回繪圖延遲(單位:毫秒)铐懊,繪圖延遲越長邀桑,動畫的速度越慢
    參數(shù):
    delay---正整數(shù)
import turtle
screen =turtle.getscreen()
#獲取繪圖延遲毫秒數(shù),打印結(jié)果為10
print(screen.delay())
#設(shè)置繪圖延遲
screen.delay(5)
#獲取繪圖延遲毫秒數(shù)科乎,打印結(jié)果為5
print(screen.delay())
  • 58 screen.tracer(n=None, delay=None):啟用/禁用海龜動畫并設(shè)置刷新圖形的延遲時間;n=None/1時開啟動畫效果壁畸,n>=2時關(guān)閉動畫效果
    參數(shù):
    n---非負(fù)整型數(shù),如果指定 n 值茅茂,則只有每第 n 次屏幕刷新會實際執(zhí)行捏萍。(可被用來加速復(fù)雜圖形的繪制。)如果調(diào)用時不帶參數(shù)空闲,則返回當(dāng)前保存的 n 值令杈。
    delay---非負(fù)整型數(shù),設(shè)置延遲值
import turtle
screen =turtle.getscreen()
# screen.tracer(1, 25)
# screen.tracer(None, 25)
screen.tracer(2, 25)
dist = 2
for i in range(200):
    turtle.fd(dist)
    turtle.rt(90)
    dist += 2

turtle.done()
  • 59 screen.update():更新海龜屏幕TurtleScreen對象碴倾,tracer關(guān)閉時使用逗噩;執(zhí)行一次TurtleScreen刷新
  • 60 screen.listen(xdummy=None, ydummy=None):監(jiān)聽鍵盤的點擊操作,與鍵盤的點擊操作影斑,與鍵盤點擊事件一起用给赞;沒有監(jiān)聽,鍵盤操作無效果
  • 61 screen.onkey(fun, key) | screen.onkeyrelease(fun, key):首先綁定一個無參函數(shù)(如果第一個參數(shù)fun為None,則移除綁定的函數(shù)),然后當(dāng)鍵盤上key鍵按下并抬起后觸發(fā)函數(shù)事件矫户;
    參數(shù):
    fun –-- 一個無參函數(shù)或None
    key –-- 一個字符串鍵值: 普通按鍵 (例如:“a”) 或功能鍵 (例如:“space”)
import turtle
def f():
    turtle.fd(50)
    turtle.lt(60)
screen = turtle.getscreen()
#點擊up鍵觸發(fā)函數(shù)
screen.onkey(f, "Up")
#屏幕監(jiān)聽
screen.listen()
turtle.done()
  • 62 screen.onkeypress(fun, key=None):首先綁定,當(dāng)鍵盤上key鍵(如果key為None時表示任意按鍵)按下時即觸發(fā)無參函數(shù)残邀;如果打一個參數(shù)fun為None,則移除綁定的函數(shù)皆辽;
    參數(shù):
    fun---一個無參函數(shù)或None
    key--- 一個字符串鍵值: 普通按鍵 (例如:“a”) 或功能鍵 (例如:“space”),key為None表示任何按鍵按下都會觸發(fā)
import turtle
def f():
    turtle.fd(50)
    turtle.lt(60)
screen = turtle.getscreen()
#按下up鍵觸發(fā)函數(shù)
screen.onkeypress(f, "Up")
#按下任意鍵時綁定f函數(shù)
screen.onkeypress(f, None)
#屏幕監(jiān)聽
screen.listen()
turtle.done()
  • 63 screen.onclick(fun, btn=1, add=None) | screen.onscreeclick(fun, btn=1, add=None):首先在調(diào)用的時候完成函數(shù)事件的綁定,在鼠標(biāo)左鍵按下時觸發(fā)函數(shù)事件芥挣;如果函數(shù)為None,則移除存在的綁定驱闷;
    參數(shù):
    fun – 一個有兩個參數(shù)x,y的函數(shù),畫布上鼠標(biāo)左鍵按下時將點擊的坐標(biāo)作為參數(shù),調(diào)用該方法
    btn --鼠標(biāo)按鈕,默認(rèn)為1(鼠標(biāo)左鍵)
    add – True或False.如果是True,將添加一個新的綁定;否則將替換前綁定
import turtle
screen = turtle.getscreen()
def turn(x, y):
    turtle.lt(90)
    # 打印當(dāng)前坐標(biāo)
    print('x=', x, 'y=', y)
    print(turtle.heading())
# 清除綁定關(guān)系
screen.onclick(None)
# 再次綁定
# screen.onclick(turn)
#screen.onclick(turn, 3)
screen.onclick(turn, 2)
turtle.done()
  • 64 screen.ontimer(fun, t=0):開啟一個計時器空免,t毫秒后調(diào)用函數(shù)fun
    參數(shù):
    fun---一個無參的函數(shù)
    t ---一個>=0的number
"""
點擊屏幕畫多邊形空另,再次點擊停止繪制
"""
import turtle
#定義全局變量
running = False
def demo1():
    screen = turtle.getscreen()
    def f():
        #內(nèi)部函數(shù)想修改或使用全局變量需要加global,否則認(rèn)為是局部變量
        global running
        if running:
            turtle.fd(100)
            turtle.lt(45)
        #開啟計數(shù)器,250毫秒后執(zhí)行f函數(shù)
        screen.ontimer(f, 250)
    def change_status(x, y):
        #內(nèi)部函數(shù)想修改或使用全局變量需要加global蹋砚,否則認(rèn)為是局部變量
        global running
        #bool取反操作
        running = not running
    f()
    screen.onclick(change_status)
def my_main():
    demo1()
    turtle.mainloop()

if __name__ == '__main__':
    my_main()
  • 65 screen.textinput(title, prompt):彈出一個輸入文本的彈出框扼菠,點擊Cancel取消按鈕返回None,點擊ok按鈕返回輸入的字符串
    參數(shù):
    title --- 彈框標(biāo)題(一個string字符串)
    prompt---彈框提示(一個string字符串)
import turtle
screen = turtle.getscreen()
#彈出輸入文本的彈出框
name = screen.textinput("歡迎框", "你的姓名是")
if (name != None and name != ""):
    print(name, ",您好")
  • 66 screen.numinput(title, prompt, default=None, minval=None, maxval=None):彈出一個輸入數(shù)字的彈出框,點擊Cancel取消按鈕則返回None,點擊OK按鈕返回輸入的number
    參數(shù):
    title---彈框標(biāo)題(一個string字符串)
    prompt---彈框提示(一個string字符串)
    default---默認(rèn)值number類型(可選)
    minval---最小值number類型(可選)
    maxval---最大值number類型(可選)
import turtle
screen = turtle.getscreen()
#彈出輸入數(shù)字的彈出框
age = screen.numinput("身高", "請輸入您的身高(單位:米)", 0, 0, 2.5)
#判斷容錯處理
if age != None and age > 0:
    print("身高", age, "米")
  • 67 screen.mode(mode) | turtle.mode(mode=None):設(shè)置或返回海龜模式坝咐,默認(rèn)是"standard"標(biāo)準(zhǔn)模式循榆。"standard"模式是兼容舊版本;“l(fā)ogo”模式兼容大部分海龜圖形標(biāo)志墨坚;"world"模式使用用戶自定義的“世界坐標(biāo)”該模式下x/y的單位比不為1會出現(xiàn)扭曲
  • 68 screen.colormode(cmode=None) | turtle.colormode(cmode=Node):返回或設(shè)置colormode的值為1.0或255,隨后調(diào)用turtle.fillcolor(args)秧饮、turtle.pencolor(args)、turtle.color(*args)等方法設(shè)置畫筆顏色時R,G,B三組顏色值范圍必須是0-colormode值之間的數(shù),否則會報異常
    參數(shù):
    cmode---1.0或255,二選一
  • 69 screen.getcanvas() | turtle.getcanvas():返回海龜屏幕TurtleScreen的畫布對象實例
import turtle
screen = turtle.getscreen()
print(screen.getcanvas())
  • 70 screen.getshapes() | turtle.getshapes():獲取當(dāng)前可用海龜形狀的名稱列表
import turtle
#獲取當(dāng)前可用海龜形狀的名稱列表
print(turtle.getscreen().getshapes())#['arrow', 'blank', 'circle', 'classic', 'square', 'triangle', 'turtle']
  • 71 screen.register_shape(name, shape=None) | screen.addshape(name, shape=None) | turtle.register_shape(name, shape=None) | turtle.addshape(name, shape=None):內(nèi)存中添加注冊海龜圖形
import turtle
screen = turtle.getscreen()
#方法一:
screen.register_shape("h.gif")
turtle.shape("h.gif")
turtle.fd(100)
turtle.done()
import turtle
screen = turtle.getscreen()
#方法二:
screen.register_shape("triangle",((5, -3), (0, 5), (-5, -3)))
turtle.forward(100)
turtle.done()
#方法3:shape_obj是一個shape對象見【turtle.begin_poly()盗尸、turtle.end_poly()和turtle.get_poly()配合使用】中例子
screen.register_shape("myFavouriteShape", shape_obj)
  • 72 screen.turtles() | turtle.turtles():返回海龜屏幕TurtleScreen中所有的海龜箭頭對象列表
print(screen.turtles())#[<turtle.Turtle object at 0x00000000025DC400>]
for turtle in screen.turtles():
    print(turtle)
  • 73 screen.window_height() | turtle.window_height() 和 screen.window_width() | turtle.window_width():返回海龜繪圖窗口的高/寬(單位:像素)
import turtle
#獲取海龜繪圖窗口高度(單位:像素)
print(turtle.window_height())#576
#獲取海龜繪圖窗口寬度(單位:像素)
print(turtle.window_width())#683
  • 74 screen.bye() | turtle.bye():關(guān)閉海龜圖形窗口
import turtle
import time
turtle.forward(100)
time.sleep(1)
turtle.bye()
turtle.done()
  • 75 screen.exitonclick() | turtle.exitonclick():調(diào)用此方法后屏幕會保持柑船,直到點擊屏幕才會關(guān)閉海龜圖形窗口
import turtle
turtle.exitonclick()
  • 76 screen.mainloop() | screen.done() | turtle.mainloop() | turtle.done():啟動循環(huán)事件,調(diào)用此方法后屏幕會保持泼各,直到主動關(guān)閉當(dāng)前窗口椎组;想使用的話必須作為圖形繪制程序的最后一條語句
turtle.mainloop()
  • 77 screen.setup(width=_CFG["width"], height=_CFG["height"], startx=_CFG["leftright"], starty=_CFG["topbottom"]) | turtle.setup(width=_CFG["width"], height=_CFG["height"], startx=_CFG["leftright"], starty=_CFG["topbottom"]): 設(shè)置默認(rèn)展現(xiàn)的主窗口的大小和位置(寬或高比海龜繪圖窗口小時對應(yīng)方向上會出現(xiàn)滾動條)。參數(shù)的默認(rèn)值存儲在turtle.cfg配置文件中,如果需要可進(jìn)行修改
    參數(shù):
    width – 一個整數(shù)(單位:像素)或一個小數(shù)(表示百分比),默認(rèn)是屏幕寬的50%
    height – 一個整數(shù)(單位:像素)或一個小數(shù)(表示百分比),默認(rèn)是屏幕高的75%
    startx – 如果是正數(shù),則從屏幕左邊緣開始向右(單位:像素) ;如果為負(fù)數(shù)則從屏幕右邊緣開始向左;如果為None則窗口水平居中
    starty – 如果是正數(shù),則從屏幕頂部邊緣開始向下(單位:像素) ;如果為負(fù)數(shù)則從屏幕底部邊緣開始向上;如果為None則窗口垂直居中
import turtle
screen = turtle.getscreen()
#海龜繪圖窗口寬高分別為576和683,此時將默認(rèn)展現(xiàn)的主窗口的大小設(shè)置成了576和100,垂直方向因為占不全會出現(xiàn)滾動條
# screen.setup(width=576, height=100, startx=0, starty=0)
screen.setup(width=0.75, height=0.5, startx=None, starty=None)
turtle.done()
  • 78 screen.title(titlestring) | turtle.title(titlestring)

設(shè)置海龜窗口標(biāo)題

import turtle
screen = turtle.getscreen()
#設(shè)置海龜窗口標(biāo)題
screen.title("hello turtle")
turtle.done()
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末历恐,一起剝皮案震驚了整個濱河市寸癌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌弱贼,老刑警劉巖蒸苇,帶你破解...
    沈念sama閱讀 219,366評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異吮旅,居然都是意外死亡溪烤,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評論 3 395
  • 文/潘曉璐 我一進(jìn)店門庇勃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來檬嘀,“玉大人,你說我怎么就攤上這事责嚷≡蓿” “怎么了?”我有些...
    開封第一講書人閱讀 165,689評論 0 356
  • 文/不壞的土叔 我叫張陵罕拂,是天一觀的道長揍异。 經(jīng)常有香客問我,道長爆班,這世上最難降的妖魔是什么衷掷? 我笑而不...
    開封第一講書人閱讀 58,925評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮柿菩,結(jié)果婚禮上啊楚,老公的妹妹穿的比我還像新娘状您。我一直安慰自己笛园,他們只是感情好肩豁,可當(dāng)我...
    茶點故事閱讀 67,942評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著祟辟,像睡著了一般医瘫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上旧困,一...
    開封第一講書人閱讀 51,727評論 1 305
  • 那天醇份,我揣著相機與錄音稼锅,去河邊找鬼。 笑死僚纷,一個胖子當(dāng)著我的面吹牛矩距,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播怖竭,決...
    沈念sama閱讀 40,447評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼锥债,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了痊臭?” 一聲冷哼從身側(cè)響起哮肚,我...
    開封第一講書人閱讀 39,349評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎广匙,沒想到半個月后允趟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,820評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡鸦致,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,990評論 3 337
  • 正文 我和宋清朗相戀三年潮剪,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片分唾。...
    茶點故事閱讀 40,127評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡抗碰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出绽乔,到底是詐尸還是另有隱情弧蝇,我是刑警寧澤,帶...
    沈念sama閱讀 35,812評論 5 346
  • 正文 年R本政府宣布迄汛,位于F島的核電站捍壤,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏鞍爱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,471評論 3 331
  • 文/蒙蒙 一专酗、第九天 我趴在偏房一處隱蔽的房頂上張望睹逃。 院中可真熱鬧,春花似錦祷肯、人聲如沸沉填。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽翼闹。三九已至,卻和暖如春蒋纬,著一層夾襖步出監(jiān)牢的瞬間猎荠,已是汗流浹背坚弱。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留关摇,地道東北人荒叶。 一個月前我還...
    沈念sama閱讀 48,388評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像输虱,于是被迫代替她去往敵國和親些楣。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,066評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Python標(biāo)準(zhǔn)庫程序框架——turtle海龜繪圖 ? 我想宪睹,科普最好的對象是小朋友愁茁,那么就寫一下被移植到...
    扮豬的小白閱讀 1,948評論 0 3
  • turtle繪圖的基礎(chǔ)知識: 1. 畫布(canvas) 畫布就是turtle為我們展開用于繪圖區(qū)域,我們...
    九天牧人閱讀 7,540評論 1 0
  • Turtle庫是Python語言中一個很流行的繪制圖像的函數(shù)庫亭病,想象一個小烏龜鹅很,在一個橫軸為x、縱軸為y的坐標(biāo)系原...
    yeszao閱讀 3,051評論 1 5
  • 七毛是張小柱的一只雞命贴。 而張小柱會養(yǎng)一只雞則完全是出于一次迫不得已的同情道宅。 那天,張小柱的媽媽馮艷終于決定離開張大...
    LL隨安閱讀 688評論 2 10
  • 圖文/春江細(xì)語 正體 半卷珠簾星月入胸蛛。萬里嬋娟污茵,縷縷銀絲渡。誰在窗前吟舊賦葬项,金樽把盞芳盈目泞当。 寥廓江天斜雨顧。一夜...
    春江細(xì)語閱讀 2,132評論 31 99