怎么用python海龟库写名字

麻烦用python turtle写一下“田秋悦”这三个字,需要运行结果正确的

等会儿给你写,需要点儿时间。
第一个字:

img


两个字:

img

import turtle
def draw_tian():
    turtle.speed(speed="slow")
    turtle.penup()
    turtle.goto(-150, 50)
    turtle.pendown()
    turtle.right(90)
    turtle.forward(40)
    turtle.right(90)
    turtle.forward(40)
    turtle.right(90)
    turtle.forward(40)
    turtle.right(90)
    turtle.forward(40)
    turtle.penup()
    turtle.goto(-170, 50)
    turtle.pendown()
    turtle.right(90)
    turtle.forward(40)
    turtle.penup()
    turtle.goto(-150, 30)
    turtle.pendown()
    turtle.right(90)
    turtle.forward(40)
def draw_qiu():
    turtle.penup()
    turtle.goto(-130, 50)
    turtle.pendown()
    turtle.right(-30)
    turtle.forward(20)
    turtle.penup()
    turtle.goto(-145, 35)
    turtle.pendown()
    turtle.right(210)
    turtle.forward(20)
    turtle.penup()
    turtle.goto(-135, 45)
    turtle.pendown()
    turtle.right(90)
    turtle.forward(35)
    turtle.penup()
    turtle.goto(-135, 35)
    turtle.pendown()
    turtle.right(35)
    turtle.forward(20)
    turtle.penup()
    turtle.goto(-135, 35)
    turtle.pendown()
    turtle.right(-70)
    turtle.forward(15)
    turtle.penup()
    turtle.goto(-125, 45)
    turtle.pendown()
    turtle.right(0)
    turtle.forward(10)
    turtle.penup()
    turtle.goto(-105, 45)
    turtle.pendown()
    turtle.right(90)
    turtle.forward(10)
    turtle.penup()
    turtle.goto(-115, 50)
    turtle.pendown()
    turtle.right(-45)
    turtle.forward(40)
    turtle.penup()
    turtle.goto(-118, 36)
    turtle.pendown()
    turtle.right(-42)
    turtle.forward(27)
def draw_yue():
    turtle.penup()
    turtle.goto(-95, 40)
    turtle.pendown()
    turtle.right(50)
    turtle.forward(10)
    turtle.penup()
    turtle.goto(-90, 50)
    turtle.pendown()
    turtle.left(18)
    turtle.forward(40)
    turtle.penup()
    turtle.goto(-90, 36)
    turtle.pendown()
    turtle.left(48)
    turtle.forward(10)
    turtle.penup()
    turtle.goto(-80, 50)
    turtle.pendown()
    turtle.left(0)
    turtle.forward(10)
    turtle.penup()
    turtle.goto(-65, 50)
    turtle.pendown()
    turtle.right(90)
    turtle.forward(10)
    turtle.penup()
    turtle.goto(-80, 40)
    turtle.pendown()
    turtle.left(43)
    turtle.forward(10)    
    turtle.left(90)
    turtle.forward(16)
    turtle.left(90)
    turtle.forward(10)
    turtle.left(90)
    turtle.forward(16)
    turtle.penup()
    turtle.goto(-72, 30)
    turtle.pendown()
    turtle.left(55)
    turtle.forward(25)  
    turtle.penup()
    turtle.goto(-70, 30)
    turtle.pendown()
    turtle.left(35)
    turtle.forward(19)
    turtle.left(90)
    turtle.forward(8)
    turtle.left(90)
    turtle.forward(5)

turtle.speed(0) # 设置画笔速度为最快
draw_tian()
draw_qiu()
draw_yue()
turtle.done() # 绘制完成后不退出窗口
 
 

import turtle
import requests
from urllib.parse import quote
import re


def obtain_coordinate(target_word):
    """
    获取汉字的坐标
    """
    url = "https://bihua.bmcx.com/web_system/bmcx_com_www/system/file/bihua/get_0/"

    params = {
        'font': quote(target_word).replace("%", "").lower(),
        'shi_fou_zi_dong': '1',
        'cache_sjs1': '20031914',
    }
    response = requests.get(url, params=params)
    content = response.text
    content = content.replace('hzbh.main(', '').split(');document.getElementById')[0]
    content = content.split('{')[-1].split("}")[0]
    pattern = re.compile(r'\w:\[(.+?)\]')
    result = re.split(pattern, content)
    order_xy_routine = []
    words_cnt = 0
    for r in result:
        sec = re.findall(r'\'.+?\'', r)
        if len(sec):
            orders = sec[1].split('#')
            for order in orders:
                order_str = re.findall(r'\(\d+,\d+\)', order)
                order_xy = [eval(xy) for xy in order_str]
                order_xy_routine.append(order_xy)
            words_cnt += 1
    print(order_xy_routine)
    return order_xy_routine


def draw_words(words, startx, starty):
    """
    根据汉字的笔画坐标信息,打印汉字 有笔画的轨迹
    """
    offsetX = startx
    minX = 1000
    maxX = 0
    for target_words in words:
        turtle.color("black", "black")  # 设置画笔颜色
        turtle.pu()  # 抬起画笔
        coordinates = obtain_coordinate(target_words)
        for index, coordinate in enumerate(coordinates):
            turtle.goto((offsetX + coordinate[0][0]) / 2, -(starty + coordinate[0][1]) / 2)
            turtle.pd()
            for xy in coordinate:
                x, y = xy
                minX = min(x, minX)
                maxX = max(x, maxX)
                turtle.goto((offsetX + x) / 2, -(starty + y) / 2)
            turtle.pu()
        offsetX += (maxX - minX) + 100


if __name__ == '__main__':
    draw_words("田秋悦", -900, -800)
    turtle.done()  # 保证界面不退出 可点击右上角关闭

img

from turtle import *
def a(x,y,zi):
    pu()
    goto(x,y)
    pd()
    write(zi,font=("Arial", 80, "normal"))
a(-120,0,"田")
a(0,0,"秋")
a(120,0,"悦")

调用 Python 的 turtle.write() 写“田秋悦”这三个字。如对您有帮助,请采纳此回答。谢谢!

这个是基于chatgpt 和本人的调写:

import turtle

设置画布和画笔

canvas = turtle.Screen()
pen = turtle.Turtle()

定义字体大小和位置

font_size = 60
x, y = -200, 0

绘制“田”字

pen.penup()
pen.goto(x, y)
pen.pendown()
pen.write('田', font=('Arial', font_size, 'normal'))
x += font_size

绘制“秋”字

pen.penup()
pen.goto(x, y)
pen.pendown()
pen.write('秋', font=('Arial', font_size, 'normal'))
x += font_size

绘制“悦”字

pen.penup()
pen.goto(x, y)
pen.pendown()
pen.write('悦', font=('Arial', font_size, 'normal'))

隐藏画笔

pen.hideturtle()

等待用户关闭窗口

canvas.mainloop()

Python函数

可以借鉴下
https://blog.csdn.net/h15136020513/article/details/124541860