turtle的基礎(chǔ)使用之python?turtle遞歸繪圖
1創(chuàng)建窗口
1 turtle.setup(width,height,startx,starty)設(shè)置主窗口的大小和位置,
width如果是整數(shù),則以像素為單位的大小,如果是浮點數(shù),則屏幕的一部分;默認(rèn)為屏幕的 50%。height如果是整數(shù),則以像素為單位的高度,如果是浮點數(shù),則為屏幕的一部分;默認(rèn)為屏幕的 75%startx如果為正,則從屏幕左邊緣開始以像素為單位,如果從右邊緣為負(fù),如果沒有,則水平居中窗口starty如果為正,則從屏幕上邊緣開始以像素為單位,如果為負(fù),則從下邊緣開始,如果沒有,則垂直居中窗口
turtle.title 設(shè)置海龜窗口的標(biāo)題
2 turtle.screensize(canvwidth=None, canvheight=None, bg=None),以像素為單位的寬,高。bg顏色字符串或顏色元組,新的背景顏色
2.畫筆移動
""" 初始情況畫筆面朝東位于畫布中央 """ turtle.penup() ? ?# 抬起畫筆 turtle.penup() ? ?# 抬起畫筆 不再畫線 turtle.pendown() ?# 放下畫筆 turtle.forward(10) # 前進(jìn) ? 整數(shù)或浮點數(shù) turtle.backward(10)? turtle.left(90) ? ?# 向左 ? 整數(shù)或浮點數(shù) turtle.right(90) turtle.goto() ? ?# 移動畫筆到絕對位置, 如果 y 為 None,x 必須是一對坐標(biāo)或 Vec2D(例如,由 pos() 返回) turtle.setx(x) ?#將海龜?shù)牡谝粋€坐標(biāo)設(shè)置為 x,第二個坐標(biāo)保持不變。 ?整數(shù)或浮點數(shù) turtle.sety(y) #? turtle.home() ?# 將海龜回復(fù)到初始位置和初始方向? turtle.circle(radius, extent=None, steps=None) # 畫一個給定半徑的圓 """ radius 半徑 ? 如果半徑為正,則按逆時針方向繪制圓弧,否則按順時針方向繪制。 extent 角度 ? 確定繪制圓的哪個部分。如果沒有給出范圍,則繪制整個圓圈 """ 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() # ?讓圖像一直顯示 ?啟動事件循環(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() ? ?# 畫圖完成后不會自動關(guān)閉
到此這篇關(guān)于turtle的基礎(chǔ)使用之python turtle遞歸繪圖的文章就介紹到這了,更多相關(guān)python turtle遞歸繪圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python??UPX?is?not?available問題解決方法
這篇文章主要介紹了python?UPX?is?not?available問題解決,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04
python爬蟲項目設(shè)置一個中斷重連的程序的實現(xiàn)
這篇文章主要介紹了python爬蟲項目設(shè)置一個中斷重連的程序的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
keras的backend 設(shè)置 tensorflow,theano操作
這篇文章主要介紹了keras的backend 設(shè)置 tensorflow,theano操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
pycharm配置anaconda環(huán)境時找不到python.exe的兩種解決辦法
如果你在Anaconda中創(chuàng)建了虛擬環(huán)境,但是無法找到python.exe,可能是因為虛擬環(huán)境的Python路徑?jīng)]有添加到系統(tǒng)環(huán)境變量中,這篇文章主要給大家介紹了關(guān)于pycharm配置anaconda環(huán)境時找不到python.exe的兩種解決辦法,需要的朋友可以參考下2024-07-07
Python使用ChainMap實現(xiàn)組合數(shù)據(jù)魔法實例探究
這篇文章主要為大家介紹了Python使用ChainMap實現(xiàn)組合數(shù)據(jù)魔法實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01

