簡介:turtle是一個簡單的繪圖工具。它提供了一個海龜,你可以把它理解為一個機(jī)器人,只聽得懂有限的指令。
創(chuàng)新互聯(lián)建站主營赤峰網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件開發(fā),赤峰h5微信小程序開發(fā)搭建,赤峰網(wǎng)站營銷推廣歡迎赤峰等地區(qū)企業(yè)咨詢
1.在文件頭寫上如下行,這能讓我們在語句中插入中文
#-*- coding: utf-8 -*-
2.用import turtle導(dǎo)入turtle庫
3.繪圖窗口的原點(diǎn)(0,0)在正中間。默認(rèn)情況下,海龜向正右方移動。
4.操縱海龜繪圖有著許多的命令,這些命令可以劃分為兩種:一種為運(yùn)動命令,一種為畫筆控制命令
(1)運(yùn)動命令:
forward(d)
向前移動距離d代表距離
backward(d)
向后移動距離d代表距離
right(degree)
向右轉(zhuǎn)動多少度
left(degree)
向左轉(zhuǎn)動多少度
goto(x,y)
將畫筆移動到坐標(biāo)為(x,y)的位置
stamp()
繪制當(dāng)前圖形
speed(speed)
畫筆繪制的速度范圍[0,10]整數(shù)
(2)畫筆控制命令:
down()
畫筆落下,移動時繪制圖形
up()
畫筆抬起,移動時不繪制圖形
setheading(degree)
海龜朝向,degree代表角度
reset()
恢復(fù)所有設(shè)置
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的正方形,并填充為紅色,邊框為藍(lán)色
#-*- 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.練習(xí):
1)畫一個五邊形
2)畫一個六邊形
3)任意輸入一個正整數(shù)m(=3),畫一個多邊形(m條邊)
4)畫一個五角星,如下所示,注意填充為紅色
5)畫一個中國象棋棋盤,如下圖所示,其中漢字不必顯示出來:
6)繪制奧運(yùn)五環(huán)圖,其中五種顏色分別為藍(lán)色、黑色、紅色、黃色和綠色。注意根據(jù)實際效果調(diào)整圓形的大小和位置。
[Turtle]庫的使用
打開窗口:turtle.setup(650,350,200,200)
窗口的大?。簑idth:650 height:350
窗口的位置:在屏幕的(200,200),默認(rèn)情況下在屏幕的中心位置
畫筆抬起,不留下痕跡:turtle.penup()
改變畫筆的位置:turtle.fd(-250) 可用turtle.forward(-250)代替
畫筆向后倒退250,默認(rèn)情況下在窗口的正中心位置
畫筆落下,留下痕跡:turtle.down()
改變畫筆的粗細(xì):turtle.pensize(25)
改變畫筆的顏色:turtle.pencolor(“purple”)
改變畫筆的前進(jìn)方向:turtle.seth(-40)可用turtle.heading(-40)代替
畫筆此時指向-40°的方向
循環(huán):range(4)函數(shù)
參數(shù)是幾就循環(huán)幾次
for i in range(4):i的范維是[0,4)
畫圓?。簍urtle.circle(40,80); turtle.circle(-40,80)
40是圓弧的半徑,代表以畫筆所在位置的左側(cè)距離40的地方為圓心
-40代表畫筆所在位置右側(cè)距離40的地方為圓心
80是代表弧度80的圓弧
畫直線:turtle.fd(40)
畫筆向前移動40
因為畫筆已經(jīng)落下,所以屏幕中有畫筆的痕跡
畫筆停止繪制,但窗口不關(guān)閉:turtle.done()
程序運(yùn)行結(jié)果:
可以插函數(shù)。turtle.setup(700,700,100,100)#setup()設(shè)置窗體大小,后兩個參數(shù)可選,該函數(shù)也不是必須的
turtle.speed(10)#設(shè)置畫筆移到速度,參數(shù)值為0-10,數(shù)字越大,速度越大
turtle.pensize(10)#設(shè)置畫筆尺寸大小
turtle.pencolor(‘green‘)#設(shè)置畫筆顏色
turtle.penup()#將畫筆抬起(抬起時移到畫筆將不會在畫布留下痕跡)
turtle.goto(0,190)#將畫筆移到(x,y)
turtle.pendown()#將畫筆落下
turtle.circle(80,360)#畫圓,半徑為正表示圓心在畫筆左邊
import turtle
turtle.showturtle() #屏幕上顯示出來海龜繪圖,終端中會用到
turtle.penup() #抬起畫筆,此時畫筆的移動不會留下痕跡
turtle.pendown() #放下畫筆,此時畫筆的移動會留下痕跡
turtle.pensize(3) #筆粗為3
turtle.goto(-200,100) #將畫筆移動到(-200,100)坐標(biāo)
turtle.color("red") #設(shè)定畫筆的顏色為紅色
turtle.circle(100) #以當(dāng)前畫筆所在點(diǎn)為圓最下端開始畫半徑為100的圓
turtle.circle(100,steps=n) #繪制一個周長為100,的n邊形
turtle.forward(200) #將畫筆前進(jìn)200
turtle.backward(100) #將比后退100
turtle.right(70) #將畫筆箭頭的方向向右移70度
turtle.left(90) #將畫筆箭頭的方向向左移90度
turtle.stamp() #復(fù)制當(dāng)前圖形
turtle.write("hello,小朋友",font=('宋體',20,"normal")) #添加括號里的字符,font設(shè)置字符字體,大小以及作用
turtle.reste() #重置
turtle.hideturtle() #將畫筆隱藏
turtle.done() #把所繪圖顯示出來,不關(guān)閉繪圖軟件
給繪制的圖形填充顏色
turtle.begin_fill()
turtle.circle(100)
turtle.color("yellow")
turtle.end_fill()
1
2
3
4
例:畫出奧運(yùn)五環(huán)
import turtle
turtle.color("blue")
turtle.circle(100)
turtle.penup()
turtle.goto(-200,0)
turtle.pendown()
turtle.color("red")
turtle.circle(100)
turtle.penup()
turtle.goto(200,0)
turtle.color("yellow")
turtle.pendown()
turtle.circle(100)
turtle.penup()
turtle.goto(-100,-100)
turtle.color("black")
turtle.pendown()
turtle.circle(100)
turtle.penup()
turtle.goto(100,-100)
turtle.color("black")
turtle.pendown()
turtle.circle(100)
turtle.done()
設(shè)置畫筆朝向的函數(shù):一、庫引用與import 1、庫引用(擴(kuò)充Python程序功能的方式) (1)使用import保留字完成,采用.()編碼風(fēng)格 設(shè)置畫筆朝向的函數(shù):二、turtle畫筆控制函數(shù) 1、畫筆操作后一直有效,一般成對出現(xiàn) turtle.penup()(別名:turtle.pu()) 抬起畫筆,海龜在飛行 turtle.pendown()(別名:turtle.pd)) 落下畫筆,海龜在爬行 2、畫筆設(shè)置后一直有效,直至下次重新設(shè)置 turtle.pensize(width)(別名:turtle.width(width)) 畫筆寬度,海龜?shù)难鼑?turtle.pencolor(color)(color為顏色字符串或r,g,b值) 畫筆顏色,海龜在涂裝 三、turtle運(yùn)動控制函數(shù) 控制海龜行進(jìn) 1、走直線 turtle.forward(d)(別名:turtle.fd(d)) 向前行進(jìn),海龜走直線 d:行進(jìn)距離,可以為負(fù)數(shù) 2、走曲線 turtle.circle(r, extent=None) 根據(jù)半徑r繪制extent角度的弧形 r:默認(rèn)圓心在海龜左側(cè)r距離的位置 extent:繪制角度,默認(rèn)是360度整圓 四、turtle方向控制函數(shù) 控制海龜面對的方向,并不實際的行動 1、絕對角度 turtle.setheading(angle)(別名turtle.seth(angle)) 改變行進(jìn)的方向,海龜走角度 angle:改變行進(jìn)方向,海龜走角度 2、海龜角度 turtle.left(angle) 海龜向左轉(zhuǎn) turtle.right(angle) 海龜向右轉(zhuǎn) angle:在海龜當(dāng)前行進(jìn)方向上旋轉(zhuǎn)的角度 import .() 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)使用from和import保留字共同完成 fromimport fromimport* () 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() import更多用法 兩種方法的比較 1.第一種方法不會出現(xiàn)函數(shù)重名問題 2.第二種會出現(xiàn)
利用python中的 turtle (海龜繪圖)模塊提供的函數(shù)繪制直線 turtle.penup(): 畫筆抬起
turtle.color(): 設(shè)置顏色
turtle.goto(): 畫筆移動到下一目標(biāo)
turtle.pendown(): 畫筆落下