日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

turtle的基礎使用之python?turtle遞歸繪圖_python

作者:開始King ? 更新時間: 2022-04-25 編程語言

1創建窗口

1 turtle.setup(width,height,startx,starty)設置主窗口的大小和位置,

  • width如果是整數,則以像素為單位的大小,如果是浮點數,則屏幕的一部分;默認為屏幕的 50%。
  • height 如果是整數,則以像素為單位的高度,如果是浮點數,則為屏幕的一部分;默認為屏幕的 75%
  • startx 如果為正,則從屏幕左邊緣開始以像素為單位,如果從右邊緣為負,如果沒有,則水平居中窗口
  • starty如果為正,則從屏幕上邊緣開始以像素為單位,如果為負,則從下邊緣開始,如果沒有,則垂直居中窗口

turtle.title 設置海龜窗口的標題

2 turtle.screensize(canvwidth=None, canvheight=None, bg=None),以像素為單位的寬,高。bg顏色字符串或顏色元組,新的背景顏色

2.畫筆移動

"""
初始情況畫筆面朝東位于畫布中央
"""
turtle.penup() ? ?# 抬起畫筆
turtle.penup() ? ?# 抬起畫筆 不再畫線
turtle.pendown() ?# 放下畫筆
turtle.forward(10) # 前進 ? 整數或浮點數
turtle.backward(10)?
turtle.left(90) ? ?# 向左 ? 整數或浮點數
turtle.right(90)
turtle.goto() ? ?# 移動畫筆到絕對位置, 如果 y 為 None,x 必須是一對坐標或 Vec2D(例如,由 pos() 返回)
turtle.setx(x) ?#將海龜的第一個坐標設置為 x,第二個坐標保持不變。 ?整數或浮點數
turtle.sety(y) #?
turtle.home() ?# 將海龜回復到初始位置和初始方向?
turtle.circle(radius, extent=None, steps=None) # 畫一個給定半徑的圓
"""
radius 半徑 ? 如果半徑為正,則按逆時針方向繪制圓弧,否則按順時針方向繪制。
extent 角度 ? 確定繪制圓的哪個部分。如果沒有給出范圍,則繪制整個圓圈

"""
turtle.speed() ?# 畫筆速度 0-10的整數?
"""
? ? “fastest”: 0
? ? “fast”: 10
? ? “normal”: 6
? ? “slow”: 3
? ? “slowest”: 1
? ? 如果輸入是大于 10 或小于 0.5 的數字,則速度設置為 0。
"""
turtle.position() ?# 返回當前海龜的位置
turtle.pensize(width=None) ?# 設置線條的寬度
turtle.pencolor(*args) ?# 畫筆的顏色 ? "red", "yellow", ?"#33cc8c", (0.2, 0.8, 0.55)
turtle.done() # ?讓圖像一直顯示 ?啟動事件循環 - 調用 Tkinter 的 mainloop 函數 ? 必須是海龜圖形程序中的最后一條語句。

還有一些不常見的

turtle.seth() # 角度, 但是每次旋轉后小烏龜的方向恢復到正X方向,即東(east)
turtle.heading() ?# 返回當前烏龜的方向
turtle.begin_fill() # 在繪制要填充的形狀之前調用。
turtle.fillcolor(*args) # 填充色
turtle.end_fill() # 填充最后一次調用 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) ? # 遞歸調用
? ? ? ? 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() ? ?# 畫圖完成后不會自動關閉

原文鏈接:https://blog.csdn.net/m0_52118763/article/details/123035104

欄目分類
最近更新