[Python學習筆記] turtle庫的基本使用


turtle庫常用函數

  • 引入turtle模塊
import turtle
  • turtle的繪圖窗體
#setup()設置窗口大小及位置
#setup()可省略
turtle.setup(width,height,startx,starty) turtle.setup(800,800,0,0) turtle.setup(800,800)
  • turtle的RGB色彩模式
#默認采用小數值 可切換為整數值
#1.0:RGB小數值模式
#255:RGB整數值模式
turtle.colormode(mode)
  • 畫筆控制函數
#抬起畫筆
turtle.penup() #turtle.pu()
#落下畫筆
turtle.pendown() #turtle.pd()

#畫筆寬度
turtle.pensize(width)  #turtle.width(width)

#畫筆顏色
turtle.pencolor(color)  #color為顏色字符串或r,g,b值
turtle.pencolor("purlple")#顏色字符串
turtle.pencolor(0.63,0.13,0.94)#RGB的小數值
turtle.pencolor((0.36,0.13,0.94))#RGB的元組值
  • 運動控制函數
#將畫筆移動到坐標為(x,y)的位置
turtle.goto(x,y)
turtle.goto(100,100)
turtle.goto(0,0)
#向前行進d,d可以為負數
turtle.forward(d)
turtle.fd(d) turtle.fd(100) #向后行進d,d可以為負數
turtle.backword(d) turtle.bk(d) turtle.bk(100) #根據半徑r繪制extent角度的弧形 #r:默認圓心在海龜左側r距離的位置 #extent:繪制角度。默認是360度整圓 turtle.circle(r,extent=None) turtle.circle(100,90)
  • 方向控制函數
#seth()改變海龜行進方向
#angle為絕對度數
#seth()只改變方向但不行進
turtle.setheading(angle)
turtle.seth(angle)
turtle.seth(45)
turtle.seth(-135)

#海龜向左轉
#angle:在當前行進方向上旋轉的角度
turtle.left(angle)
turtle.left(90)

#海龜向右轉
turtle.right(angle)
turtle.right(90)

 

 

#停止畫筆繪制,但繪圖窗體不關閉
turtle.done()

 

 

 

實例

#八邊形繪制
import turtle
turtle.pensize(2)
for x in range(8):
    turtle.fd(100)
    turtle.left(45)
turtle.done()

 

 

#蟒蛇繪制
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,40)
turtle.fd(40)
turtle.circle(16,180)
turtle.fd(40*2/3)
turtle.done()

 

#風車繪制
import turtle
turtle.setup(650,650)
turtle.penup()
turtle.pensize(3)
turtle.pencolor("black")
turtle.pendown()
for x in [0,90,180,270]:
    turtle.seth(x)
    turtle.fd(100)
    turtle.seth(x+90)
    turtle.circle(100,-45)
    turtle.goto(0,0)
turtle.done()

 

#疊邊形繪制,疊邊形內角為80度
import turtle
turtle.setup(650,550)
turtle.penup()
turtle.fd(-100)
turtle.pensize(5)
turtle.pencolor("black")
turtle.pendown()
for x in range(9):
    turtle.fd(100)
    turtle.left(80)
turtle.done()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM