turtle的基礎(chǔ)使用之python?turtle遞歸繪圖
1創(chuàng)建窗口
1 turtle.setup(width,height,startx,starty)設(shè)置主窗口的大小和位置,
width
如果是整數(shù),則以像素為單位的大小,如果是浮點(diǎn)數(shù),則屏幕的一部分;默認(rèn)為屏幕的 50%。height
如果是整數(shù),則以像素為單位的高度,如果是浮點(diǎn)數(shù),則為屏幕的一部分;默認(rèn)為屏幕的 75%startx
如果為正,則從屏幕左邊緣開始以像素為單位,如果從右邊緣為負(fù),如果沒有,則水平居中窗口starty
如果為正,則從屏幕上邊緣開始以像素為單位,如果為負(fù),則從下邊緣開始,如果沒有,則垂直居中窗口
turtle.title
設(shè)置海龜窗口的標(biāo)題
2 turtle.screensize(canvwidth=None, canvheight=None, bg=None),以像素為單位的寬,高。bg顏色字符串或顏色元組,新的背景顏色
2.畫筆移動(dòng)
""" 初始情況畫筆面朝東位于畫布中央 """ turtle.penup() ? ?# 抬起畫筆 turtle.penup() ? ?# 抬起畫筆 不再畫線 turtle.pendown() ?# 放下畫筆 turtle.forward(10) # 前進(jìn) ? 整數(shù)或浮點(diǎn)數(shù) turtle.backward(10)? turtle.left(90) ? ?# 向左 ? 整數(shù)或浮點(diǎn)數(shù) turtle.right(90) turtle.goto() ? ?# 移動(dòng)畫筆到絕對(duì)位置, 如果 y 為 None,x 必須是一對(duì)坐標(biāo)或 Vec2D(例如,由 pos() 返回) turtle.setx(x) ?#將海龜?shù)牡谝粋€(gè)坐標(biāo)設(shè)置為 x,第二個(gè)坐標(biāo)保持不變。 ?整數(shù)或浮點(diǎn)數(shù) turtle.sety(y) #? turtle.home() ?# 將海龜回復(fù)到初始位置和初始方向? turtle.circle(radius, extent=None, steps=None) # 畫一個(gè)給定半徑的圓 """ radius 半徑 ? 如果半徑為正,則按逆時(shí)針方向繪制圓弧,否則按順時(shí)針方向繪制。 extent 角度 ? 確定繪制圓的哪個(gè)部分。如果沒有給出范圍,則繪制整個(gè)圓圈 """ turtle.speed() ?# 畫筆速度 0-10的整數(shù)? """ ? ? “fastest”: 0 ? ? “fast”: 10 ? ? “normal”: 6 ? ? “slow”: 3 ? ? “slowest”: 1 ? ? 如果輸入是大于 10 或小于 0.5 的數(shù)字,則速度設(shè)置為 0。 """ turtle.position() ?# 返回當(dāng)前海龜?shù)奈恢? turtle.pensize(width=None) ?# 設(shè)置線條的寬度 turtle.pencolor(*args) ?# 畫筆的顏色 ? "red", "yellow", ?"#33cc8c", (0.2, 0.8, 0.55) turtle.done() # ?讓圖像一直顯示 ?啟動(dòng)事件循環(huán) - 調(diào)用 Tkinter 的 mainloop 函數(shù) ? 必須是海龜圖形程序中的最后一條語句。
還有一些不常見的
turtle.seth() # 角度, 但是每次旋轉(zhuǎn)后小烏龜?shù)姆较蚧謴?fù)到正X方向,即東(east) turtle.heading() ?# 返回當(dāng)前烏龜?shù)姆较? turtle.begin_fill() # 在繪制要填充的形狀之前調(diào)用。 turtle.fillcolor(*args) # 填充色 turtle.end_fill() # 填充最后一次調(diào)用 begin_fill() 后繪制的形狀。
import turtle turtle.screensize(200, 100) turtle.begin_fill() turtle.fillcolor('blue') turtle.forward(60) turtle.left(120) turtle.forward(60) turtle.left(120) turtle.forward(60) turtle.end_fill() turtle.done()
3.遞歸畫圖
import turtle # turtle.screensize(800,600, "white") turtle.setup(width=0.6,height=0.6) turtle.penup() turtle.left(90) turtle.forward(200) turtle.pendown() turtle.right(180) def draw(n): ? ? if n==10: ? ? ? ? turtle.forward(30) ? ? if n<10: ? ? ? ? turtle.forward(30) ? ? ? ? turtle.right(90) ? ? ? ? turtle.forward(30) ? ? ? ? # 讓畫筆朝南 ? ? ? ? turtle.left(90)? ? ? ? ? draw(n+1) ? # 遞歸調(diào)用 ? ? ? ? turtle.left(180) ? ? ? ? turtle.forward(30) ? ? ? ? turtle.right(90) ? ? ? ? turtle.forward(60) ? ? ? ? turtle.right(90) ? ? ? ? turtle.forward(30) ?# 完成圖形了,但是要把turtle歸位 ? ? ? ? # 接下來就是歸位 ? ? ? ? turtle.left(180) ? ? ? ? turtle.forward(30) ? ? ? ? turtle.left(90) ? ? ? ? turtle.forward(30) ? ? ? ? turtle.left(90) ? ? ? draw(0) turtle.done() ? ?# 畫圖完成后不會(huì)自動(dòng)關(guān)閉
到此這篇關(guān)于turtle
的基礎(chǔ)使用之python turtle
遞歸繪圖的文章就介紹到這了,更多相關(guān)python turtle遞歸繪圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)Youku視頻批量下載功能
前段時(shí)間由于收集視頻數(shù)據(jù)的需要,自己搗鼓了一個(gè)YouKu視頻批量下載的程序。下面小編把實(shí)現(xiàn)過程分享到腳本之家平臺(tái),供大家參考2017-03-03Python實(shí)現(xiàn)獲取網(wǎng)站PR及百度權(quán)重
這篇文章主要介紹了Python實(shí)現(xiàn)獲取網(wǎng)站PR及百度權(quán)重,本文使用傳參的方式請(qǐng)求站長(zhǎng)工具和谷歌工具獲取PR值和百度權(quán)重,需要的朋友可以參考下2015-01-01淺談Python數(shù)學(xué)建模之固定費(fèi)用問題
本文主要介紹了Python固定費(fèi)用問題的建模與求解。學(xué)習(xí) PuLP工具包中處理復(fù)雜問題的快捷使用方式2021-06-06Python之?dāng)?shù)據(jù)序列化(json、pickle、shelve)詳解
這篇文章主要介紹了Python之?dāng)?shù)據(jù)序列化(json、pickle、shelve)詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08