1. 基本概念
- turtle是“海龜”的意思,可以想象一只小海龜尾巴蘸著墨水在畫圖,屏幕坐標系坐標原點在左上角,用于設置窗口大小和位置;空間坐標系的坐標原點在窗口中央,分為四個象限,相當于畫布
-
turtle是標準庫
import turtle → turtle.forward()
import turtle as t → t.forward()
from turtle import forward, backward → forward()
from turtle import * → forward()
2. 語法
-
畫布screen
-
簡介:畫布就是用于繪圖的區域, 可以設置大小和初始位置,類似于前端的canvas和javafx的pane/scene/stage
注:python并沒有區分stage(窗口)、scene(場景)、pane(面板),若區分,則畫布相當于pane -
設置畫布大小
-
方法一:
turtle.screensize(canvaswidth=none,canvasheight=none,bg=none)
turtle.screensize(800,600,“green”) -
方法二(推薦):
- width, height: 輸入寬和高為整數時, 表示像素; 為小數時, 表示占據電腦屏幕的比例
- (startx, starty): 這一坐標表示 矩形窗口左上角頂點的位置, 如果為空,則窗口位于屏幕中心
turtle.setup(width=0.5, height=0.75, startx=None, starty=None)
turtle.setup(width=0.6, height=0.6)
turtle.setup(width=800, height=800, startx=100, starty=100)
turtle.setup(800, 800, 100, 100)
-
方法一:
-
簡介:畫布就是用于繪圖的區域, 可以設置大小和初始位置,類似于前端的canvas和javafx的pane/scene/stage
-
畫筆pen
- 屬性
-
畫筆開始在畫布中央,即默認小海龜開始作畫的地方是在畫布中央,面朝x軸正方向,以下函數參數空白時返回默認值
turtle.pensize() #設置pen寬度,默認1px
turtle.pencolor() #設置pen顏色,rgb/“green”,默認black
turtle.speed(speed) :設置畫筆移動速度,范圍[0,10]整數,正相關,默認3
運動命令 說明 別名 turtle.forward(distance) 向當前畫筆方向移動distance像素長 turtle.fd(distance) turtle.backward(distance) 向當前畫筆相反方向移動distance像素長度 turtle.bd(distance) turtle.seth(degree) 逆時針移動degree° turtle.right(degree) 順時針移動degree° turtle.left(degree) 逆時針移動degree° turtle.penup() 移動時不繪制圖形,提起筆,用于另起一個地方繪制時用 turtle.pu() turtle.pendown() 移動時繪制圖形,缺省時也為繪制 turtle.pd() turtle.goto(x,y) 將畫筆移動到坐標為x,y的位置 turtle.speed(speed) 畫筆繪制的速度范圍[0,10]整數 turtle.circle(r,angle) 畫弧,angle參數可選,默認360°,即圓,半徑為正(負),表示圓心在畫筆的左邊(右邊)畫圓 畫筆控制命令 說明 turtle.pensize(width) 繪制圖形時的寬度 turtle.pencolor() 畫筆顏色 turtle.fillcolor(colorstring) 繪制圖形的填充顏色 turtle.color(color1, color2) 同時設置pencolor=color1, fillcolor=color2 turtle.filling() 返回當前是否在填充狀態 turtle.begin_fill() 準備開始填充圖形 turtle.end_fill() 填充完成; turtle.hideturtle() 隱藏箭頭顯示; turtle.showturtle() 與hideturtle()函數對應 全局控制命令 說明 turtle.clear() 清空turtle窗口,但是turtle的位置和狀態不會改變 turtle.done() 繪圖完成之后不自動關閉窗口 turtle.reset() 清空窗口,重置turtle狀態為起始狀態 turtle.undo() 撤銷上一個turtle動作 turtle.isvisible() 返回當前turtle是否可見 stamp() 復制當前圖形 turtle.write(s[,font("fontname",font_size,"font_type")]) 寫文本,s為文本內容,font是字體的參數,里面分別為字體名稱,大小和類型;font為可選項, font的參數也是可選項 -
注意事項
-
“__ main__”
- 當直接執行當前程序時,程序名為main,導入模塊執行時,程序名不是main
3. 代碼示例
# !python3
# !usr/bin/env python3
# -*- coding:utf-8 -*-
# 太陽花
import turtle as t
t.color("red", "yellow")
t.speed(10)
t.hideturtle()
t.begin_fill()
for i in range(36):
t.forward(200)
t.circle(10)
t.left(170)
t.end_fill()
t.done()
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
