python海龟图绘制

画出宝音这两个字
import turtle

def draw_bao():
turtle.penup()
turtle.goto(-150, 0)
turtle.pendown()

# 宝字部分
turtle.forward(100)
turtle.right(90)
turtle.forward(50)
turtle.right(90)
turtle.forward(50)
turtle.right(90)
turtle.forward(50)

turtle.penup()
turtle.goto(-150, -50)
turtle.pendown()
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.right(90)
turtle.forward(50)
turtle.right(90)
turtle.forward(50)
turtle.right(90)
turtle.forward(50)

def draw_yin():
turtle.penup()
turtle.goto(0, 0)
turtle.pendown()

# 音字部分
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.right(90)
turtle.forward(100)

后面不知道该咋写了

没用GPT,自己手动画的,先给你一个宝字的代码,音字的代码我还在画。

import turtle
def draw_bao():
    turtle.penup()
    turtle.goto(-150, 50)
    turtle.pendown()
    turtle.right(45)
    turtle.forward(10)
    turtle.penup()
    turtle.goto(-180, 30)
    turtle.pendown()
    turtle.left(95)
    turtle.forward(10)
    turtle.right(50)
    turtle.forward(60)
    turtle.right(95)
    turtle.forward(10)
    turtle.penup()
    turtle.goto(-165, 25)
    turtle.pendown()
    turtle.right(265)
    turtle.forward(36)
    turtle.penup()
    turtle.goto(-160, 10)
    turtle.pendown()
    turtle.right(0)
    turtle.forward(28)
    turtle.penup()
    turtle.goto(-167, -5)
    turtle.pendown()
    turtle.right(0)
    turtle.forward(45)
    turtle.penup()
    turtle.goto(-147, 25)
    turtle.pendown()
    turtle.right(90)
    turtle.forward(30)
    turtle.penup()
    turtle.goto(-141, 3)
    turtle.pendown()
    turtle.left(45)
    turtle.forward(10)
    
    

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

运行结果如下:

img

要使用python中的库绘制出宝音这两个字 首先你需要知道这两个字的画笔坐标,可以通过爬虫获取,然后再绘制。实现代码如下,望采纳:


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


# 这个函数是爬虫获取汉字的笔画坐标信息
def obtain_coordinate(target_word):  # 获取汉字的坐标
    """
    获取汉字的坐标
    :param target_word:
    :return:
    """
    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(target_words, startx, starty, lineNum=1):  # 画汉字
    """
    画汉字
    :param target_words:
    :param startx:
    :param starty:
    :param lineNum:
    :return:
    """
    turtle.color("black", "black")  # 设置画笔颜色
    turtle.pu()  # 抬起画笔
    coordinates = obtain_coordinate(target_words)
    for index, coordinate in enumerate(coordinates):
        turtle.goto((startx + coordinate[0][0])/2, -(starty + coordinate[0][1])/2)
        turtle.pd()
        for xy in coordinate:
            x,y=xy
            turtle.goto((startx+x)/2, -(starty+y)/2)
        turtle.pu()



if __name__ == '__main__':


    # 画汉字
    draw_words("宝", -900, 0)
    draw_words("音", 0, 0)


    turtle.done()


实现结果:

img

画出“宝音”两个字的代码示例:

设置画笔和画布

turtle.penup()
turtle.setpos(-200, 0)
turtle.pendown()
turtle.pensize(5)
turtle.pencolor('black')
turtle.bgcolor('white')

画“宝”字

turtle.left(30)
turtle.forward(100)
turtle.right(60)
turtle.forward(100)
turtle.right(180)
turtle.forward(50)
turtle.left(60)
turtle.forward(50)
turtle.right(180)
turtle.forward(50)
turtle.left(30)
turtle.forward(50)

画“音”字

turtle.penup()
turtle.setpos(-50, 0)
turtle.pendown()
turtle.left(90)
turtle.forward(100)
turtle.right(180)
turtle.forward(100)
turtle.right(90)
turtle.forward(50)
turtle.right(90)
turtle.forward(100)

隐藏画笔

turtle.hideturtle()

停止绘制

turtle.done()


import turtle

turtle.setup(width=800, height=600)

turtle.bgcolor("black")
turtle.color("white")

turtle.pensize(5)
turtle.hideturtle()

turtle.penup()
turtle.goto(-100, 0)
turtle.pendown()

# 绘制“宝”字
turtle.begin_fill()
turtle.left(90)
turtle.forward(100)
turtle.right(90)
turtle.forward(20)
turtle.right(90)
turtle.forward(60)
turtle.right(90)
turtle.forward(20)
turtle.end_fill()

# 绘制“音”字
turtle.penup()
turtle.goto(0, 0)
turtle.pendown()
turtle.begin_fill()
turtle.left(90)
turtle.forward(100)
turtle.right(90)
turtle.forward(20)
turtle.right(135)
turtle.forward(25)
turtle.left(135)
turtle.forward(75)
turtle.right(135)
turtle.forward(25)
turtle.left(135)
turtle.forward(20)
turtle.end_fill()

turtle.done()
该回答引用ChatGPT
根据题目描述,需要用Python的turtle库绘制出“宝音”两个字。已经给出了绘制“宝”字和“音”字的部分代码,我们只需要在此基础上继续完成绘制即可。
以下是完整的代码:
python
import turtle
def draw_bao():
turtle.penup()
turtle.goto(-150, 0)
turtle.pendown()
turtle.forward(100)
turtle.right(90)
turtle.forward(50)
turtle.right(90)
turtle.forward(50)
turtle.right(90)
turtle.forward(50)
turtle.penup()
turtle.goto(-150, -50)
turtle.pendown()
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.right(90)
turtle.forward(50)
turtle.right(90)
turtle.forward(50)
turtle.right(90)
turtle.forward(50)
def draw_yin():
turtle.penup()
turtle.goto(0, 0)
turtle.pendown()
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.penup()
turtle.goto(100, 0)
turtle.pendown()
turtle.right(90)
turtle.forward(50)
turtle.right(90)
turtle.forward(50)
turtle.right(90)
turtle.forward(50)
turtle.speed(0) # 设置画笔速度为最快
draw_bao()
draw_yin()
turtle.done() # 绘制完成后不退出窗口

代码中,我们首先定义了两个函数`draw_bao()`和`draw_yin()`,分别用于绘制“宝”字和“音”字。在`draw_bao()`函数中,我们先将画笔移动到起始位置(-150, 0),然后按照题目给出的坐标和角度依次绘制出“宝”字的各个部分。在绘制完“宝”字后,我们将画笔移动到起始位置(-150, -50),然后按照题目给出的坐标和角度依次绘制出“宝”字下面的横线。
在`draw_yin()`函数中,我们先将画笔移动到起始位置(0, 0),然后按照题目给出的坐标和角度依次绘制出“音”字的各个部分。在绘制完“音”字后,我们将画笔移动到起始位置(100, 0),然后绘制出“音”字右边的竖线。
最后,我们设置画笔速度为最快,依次调用`draw_bao()`和`draw_yin()`函数绘制出“宝音”两个字,然后调用`turtle.done()`函数使绘制完成后不退出窗口。