python用turtle调整文字位置_Python turtle学习笔记
一、簡介
Turtle最早來自于LOGO語言,是專門用于小孩子學(xué)習(xí)編程的,通過編程模擬一只turtle(海龜)在畫板上爬行繪制圖案,后來很多高級語言都移植了海龜繪圖,python從2.6之后也將turtle庫加入了其內(nèi)部庫中。由于是內(nèi)部庫,使用importturtle語句就能引入turtle庫,繪圖主要有以下幾個步驟:設(shè)置畫布、設(shè)置畫筆、控制海龜移動繪制圖形、色彩填充等。
二、基礎(chǔ)知識
1)turtle庫的引用
引用turtle庫主要有以下三種方法:
1.使用import保留字直接引用
import turtle #每次使用函數(shù)需加上turtle.
2.使用from和import保留字共同完成
from turtle import * #調(diào)用函數(shù)時不用加turtle.,但可能會與變量名重復(fù)
3.使用import和as保留字共同完成
import turtle as t #給turtle庫起了個別名t
2)畫布
畫布即turtle提供的繪圖區(qū)域,可用以下指令設(shè)置畫布的規(guī)模:
1.
turtle.setup(width,height, startx, starty)
width為畫布的寬度;
heigh為畫布的高度;
(startx,starty)這一坐標(biāo)表示矩形窗口左上角頂點的位置, 如果為空,則窗口位于屏幕中心。
如:
turtle.setup(650,300,100,100)
2.
turtle.screensize(canvwidth canvheight, bg)
canvwidth為畫布的寬度;
canvheight為畫布的高度;
bg為畫布背景顏色。
如:
turtle.screensize(500,400,"red")
3)畫筆
1、畫筆的狀態(tài)
在畫布上,默認(rèn)有一個坐標(biāo)原點為畫布中心的坐標(biāo)軸,坐標(biāo)原點上有一只面朝x軸正方向小烏龜。這里我們描述小烏龜時使用了兩個詞語:坐標(biāo)原點(位置),面朝x軸正方向(方向), turtle繪圖中,就是使用位置方向描述小烏龜(畫筆)的狀態(tài)。
2、畫筆的屬性
畫筆(畫筆的屬性,顏色、畫線的寬度等)
turtle.penside() #設(shè)置畫筆的寬度
turtle.pencolor() #沒有參數(shù)傳入,返回當(dāng)前畫筆顏色,傳入?yún)?shù)設(shè)置畫筆顏色,可以是字符串如"green", "red",也可以是RGB3元組。
turtle.speed(speed) #設(shè)置畫筆移動速度,畫筆繪制的速度范圍[0,10]整數(shù),數(shù)字越大越快。
4)操縱畫筆的函數(shù)
繪制圖形需要許多讓畫筆移動和轉(zhuǎn)向甚至顏色的函數(shù),常用到的函數(shù)有如下:
畫筆操作后一直有效,一般成對使用
turtle.penup() #turtle.pu()提起畫筆移動,不繪制圖形
turtle.pendown() #turtle.pd()畫筆落下
畫筆設(shè)置后一直有效,直到下次重新設(shè)置
turtle.penside(width) #turtle.width(width) 設(shè)置畫筆的寬度
turtle.pencolor(color) #設(shè)置畫筆的顏色#color參數(shù)有三種形式#顏色字符串 如turtle.pencolor("pink")#RGB小數(shù)值 如turtle.pencolor(0.63,0.13,0.94)#RGB整數(shù)值 如turtle.pencolor(128,0,128)#RGB數(shù)值元組 如turtle.pencolor((0.63,0.13,0.94))
畫筆改變角度的函數(shù),只轉(zhuǎn)不動
turtle.right(degree) #順時針移動degree°
turtle.left(degree) #逆時針移動degree°
turtle.seth(degree) #只改變畫筆方向但不移動,degree為絕對度數(shù)
畫筆運動的函數(shù)
turtle.forward(distance) #向當(dāng)前畫筆方向移動distance像素長度
turtle.backward(distance) #向當(dāng)前畫筆相反方向移動distance像素長度
turtle.goto(x,y) #將畫筆移動到坐標(biāo)為x,y的位置
turtle.circle(r,extent) #根據(jù)半徑r繪制extent角度的弧形,r默認(rèn)在畫筆左端距離r長度的地方,默認(rèn)繪制完整的圓
三、繪制實例
1)Python蟒蛇繪制
代碼如下:
#Python蟒蛇繪制
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)
turtle.done()
效果圖如下:
2)繪制一朵玫瑰花
代碼如下:
#繪制一朵玫瑰花
import turtle
# 設(shè)置初始位置
turtle.penup()
turtle.left(90)
turtle.fd(200)
turtle.pendown()
turtle.right(90)
# 花蕊
turtle.fillcolor("lightpink")
turtle.begin_fill()
turtle.circle(10, 180)
turtle.circle(25, 110)
turtle.left(50)
turtle.circle(60, 45)
turtle.circle(20, 170)
turtle.right(24)
turtle.fd(30)
turtle.left(10)
turtle.circle(30, 110)
turtle.fd(20)
turtle.left(40)
turtle.circle(90, 70)
turtle.circle(30, 150)
turtle.right(30)
turtle.fd(15)
turtle.circle(80, 90)
turtle.left(15)
turtle.fd(45)
turtle.right(165)
turtle.fd(20)
turtle.left(155)
turtle.circle(150, 80)
turtle.left(50)
turtle.circle(150, 90)
turtle.end_fill()
# 花瓣1
turtle.left(150)
turtle.circle(-90, 70)
turtle.left(20)
turtle.circle(75, 105)
turtle.setheading(60)
turtle.circle(80, 98)
turtle.circle(-90, 40)
# 花瓣2
turtle.left(180)
turtle.circle(90, 40)
turtle.circle(-80, 98)
turtle.setheading(-83)
# 葉子1
turtle.fd(30)
turtle.left(90)
turtle.fd(25)
turtle.left(45)
turtle.fillcolor("green")
turtle.begin_fill()
turtle.circle(-80, 90)
turtle.right(90)
turtle.circle(-80, 90)
turtle.end_fill()
turtle.right(135)
turtle.fd(60)
turtle.left(180)
turtle.fd(85)
#葉子2
turtle.fd(25)
turtle.left(45)
turtle.fillcolor("green")
turtle.begin_fill()
turtle.circle(-80, 90)
turtle.right(90)
turtle.circle(-80, 90)
turtle.end_fill()
turtle.right(135)
turtle.fd(60)
turtle.left(180)
turtle.fd(85)
turtle.right(90)
turtle.fd(85)
# 葉子3
turtle.right(90)
turtle.fd(15)
turtle.right(45)
turtle.fillcolor("green")
turtle.begin_fill()
turtle.circle(80, 90)
turtle.left(90)
turtle.circle(80, 90)
turtle.end_fill()
turtle.left(135)
turtle.fd(60)
turtle.left(180)
turtle.fd(90)
#葉子4
turtle.right(45)
turtle.fillcolor("green")
turtle.begin_fill()
turtle.circle(80, 90)
turtle.left(90)
turtle.circle(80, 90)
turtle.end_fill()
turtle.left(135)
turtle.fd(60)
turtle.left(180)
turtle.fd(75)
turtle.left(90)
turtle.circle(200, 60)
turtle.pendown()
turtle.done()
效果圖如下:
3)繪制太極圖
代碼如下:
#繪制太極圖
from turtle import *
setup(800,800,100,100)
#繪制左半部分
fillcolor('#FFFFFF')
begin_fill()
circle(100,180)
circle(200,180)
seth(180)
circle(-100,180)
end_fill()
seth(90)
penup()
fd(85)
pendown()
seth(0)
fillcolor('#000000')
begin_fill()
circle(25)
end_fill()
seth(-90)
penup()
fd(85)
pendown()
seth(180)
#繪制右半部分
fillcolor('#000000')
begin_fill()
circle(100,180)
circle(200,180)
seth(0)
circle(-100,180)
end_fill()
seth(-90)
penup()
fd(85)
pendown()
seth(-180)
fillcolor('#FFFFFF')
begin_fill()
circle(25)
end_fill()
hideturtle()
done()
效果圖如下:
總結(jié)
以上是生活随笔為你收集整理的python用turtle调整文字位置_Python turtle学习笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Dockerfile使用,怎么通过Doc
- 下一篇: 需求获取的三阶段:需求背景、需求调研、需