日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python用turtle库绘制树图形_使用Python中的Turtle库绘制简单的图形

發布時間:2025/3/20 python 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python用turtle库绘制树图形_使用Python中的Turtle库绘制简单的图形 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Turtle圖形庫

Turtle庫是Python內置的圖形化模塊,屬于標準庫之一,位于Python安裝目錄的lib文件夾下,常用函數有以下幾種:

畫筆控制函數

penup():抬起畫筆;

pendown():落下畫筆;

pensize(width):畫筆寬度;

pencolor(color):畫筆顏色;

運動控制函數

forward(d)/fd(d):直行d個像素;

circle(r, extent = None):繪制半徑為r,角度為extent的弧形,圓心默認在海龜左側距離r的位置;

方向控制函數

setheading(angle)/seth(angle):改變前進方向;

left(angle):海龜左轉;

right(angle):海龜右轉;

Turtle庫的使用

#coding=utf-8

#繪制蟒蛇

import turtle

turtle.penup()

turtle.pencolor("red")

turtle.forward(-250)

turtle.pendown()

turtle.pensize(10)

turtle.right(45)

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()

結果

#coding=utf-8

# 繪制五角星

import turtle

turtle.pensize(5)

turtle.pencolor("red")

turtle.forward(200)

for i in range(4):

turtle.right(144)

turtle.fd(200)

turtle.done()

結果

#繪制時鐘

# coding=utf-8

import turtle as tt

from datetime import *

# 當前日期屬于一周的第幾天

def Week(t):

week = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"]

return week[t.weekday()]

# 獲取當前時間

def Date(t):

y = t.year

m = t.month

d = t.day

cur_hour = t.hour;

cur_min = t.minute;

cur_sec = t.second;

return "%s-%d-%d %d:%02d:%02d" % (y, m, d, cur_hour, cur_min, cur_sec)

# 移動畫筆,距離為distance

def movePen(distance):

tt.penup()

tt.pensize(5)

tt.pencolor("blue")

tt.fd(distance)

tt.pendown()

# 繪制表針

def makeHands(name, length):

# 清空窗口,重置turtule狀態為初始狀態

tt.reset()

movePen(-length * 0.1)

# 開始記錄多邊形的頂點

tt.begin_poly()

tt.fd(length * 1.1)

# 停止記錄多邊形的頂點

tt.end_poly()

# 返回記錄的多邊形

handForm = tt.get_poly()

tt.register_shape(name, handForm)

# 初始化

def initial():

global secHand, minHand, hurHand, printer

# 重置方向向北(上),正角度為順時針

tt.mode("logo")

# 建立并初始化表針

makeHands("secHand", 180)

makeHands("minHand", 150)

makeHands("hurHand", 110)

secHand = tt.Turtle()

secHand.shape("secHand")

minHand = tt.Turtle()

minHand.shape("minHand")

hurHand = tt.Turtle()

hurHand.shape("hurHand")

for hand in secHand, minHand, hurHand:

hand.shapesize(1, 1, 4)

hand.speed(0)

# 輸出文字

printer = tt.Turtle()

# 隱藏畫筆

printer.hideturtle()

printer.penup()

# 繪制表盤外框

def drawClock(R):

# 清空窗口,重置turtule狀態為初始狀態

tt.reset()

# 畫筆尺寸

tt.pensize(5)

for i in range(60):

movePen(R)

if i % 5 == 0:

tt.fd(20)

movePen(-R - 20)

movePen(R + 20)

if i == 0:

# 寫文本

tt.write(int(12), align="center", font=("Consolas", 14, "bold"))

elif i == 30:

movePen(25)

tt.write(int(i / 5), align="center", font=("Consolas", 14, "bold"))

movePen(-25)

elif (i == 25 or i == 35):

movePen(20)

tt.write(int(i / 5), align="center", font=("Consolas", 14, "bold"))

movePen(-20)

else:

tt.write(int(i / 5), align="center", font=("Consolas", 14, "bold"))

movePen(-R - 20)

else:

# 繪制指定半徑和顏色的點

tt.dot(5, "red")

movePen(-R)

tt.right(6)

# 表針的動態顯示

def handsMove():

t = datetime.today()

second = t.second + t.microsecond * 0.000001

minute = t.minute + second / 60.0

hour = t.hour + minute / 60.0

secHand.seth(6 * second)

minHand.seth(6 * minute)

hurHand.seth(30 * hour)

tt.tracer(False)

printer.fd(65)

tt.pencolor("green")

printer.write(Week(t), align="center", font = ("黑體", 14))

printer.back(130)

printer.write(Date(t), align="center", font = ("Consolas", 14))

# 設置當前畫筆位置為原點,方向朝東

printer.home()

tt.tracer(True)

# 經過100ms后繼續調用handsMove函數

tt.ontimer(handsMove, 100)

# 調用定義的函數,打開和關閉動畫,為更新圖紙設置延遲;

tt.tracer(False)

initial()

drawClock(200)

tt.tracer(True)

handsMove()

tt.mainloop()

結果

總結

以上是生活随笔為你收集整理的python用turtle库绘制树图形_使用Python中的Turtle库绘制简单的图形的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。