【问题标题】:Using Python Turtle to Draw the name 'QUINN'使用 Python Turtle 绘制名称 'QUINN'
【发布时间】:2021-10-05 21:34:35
【问题描述】:

我正在尝试帮助我的兄弟编写代码。他正在使用 Python Turtle。我以前用过这个,所以它对我来说是全新的。他试图用乌龟来画他的名字'QUINN'

我已经能够创建字母 P 和字母 R。不过我不知道如何处理他的名字。下面是创建“P”和“R”的代码。如果有人能告诉我如何画他的名字,我将不胜感激。

import turtle


t = turtle.Turtle()

t.reset()
t.pencolor('blue')
t.pensize(5)
t.penup()
t.goto(-300, 200)

# Draw The Letter 'Q'
t.pendown()
t.fd(20)
t.circle(-30, 180)
t.fd(20)
t.rt(90)
t.fd(60)
t.bk(60)
t.lt(180)
t.fd(60)

t.penup()
t.goto(-230, 200)

# Draw The Letter 'U'
t.pendown()
t.lt(90)
t.fd(20)
t.circle(-30, 180)
t.fd(20)
t.rt(90)
t.fd(60)
t.bk(60)
t.lt(180)
t.fd(60)
t.bk(60)
t.lt(45)
t.fd(80)
t.rt(45)

t.penup()
t.goto(-160, 200)

# Draw The Letter 'I'


# Draw The Letter 'N'


# Draw The Letter 'N'

【问题讨论】:

    标签: python turtle-graphics python-turtle


    【解决方案1】:

    此代码将绘制单词 QUINN。一些关键概念是使用循环来绘制诸如 Q 之类的正方形,并使用函数 (def) 使代码更清晰、更易于阅读。此代码中的一个关键方面是几何。您必须使用它来生成两个 N。如果要使用 45 或 135 度角,请使用方程(斜边/二的平方根)。希望这会有所帮助!

    speed(0)
    # Draw Q
    def draw_q():
        penup()
        setposition(-150,0)
        color("blue")
        pendown()
        pensize(5)
        left(90)
        for i in range(4):
        forward(50)
        right(90)
        right(90)
        forward(50)
        left(135)
        backward(15)
        forward(30)
        backward(15)
        left(225)
    # Draw U
    def draw_u():
        pendown()
        left(90)
        forward(50)
        backward(50)
        right(90)
        forward(50)
        left(90)
        forward(50)
        backward(50)
        right(90)
    # Draw I
    def draw_i():
        left(90)
        forward(50)
        backward(50)
        right(90)
    # Draw N twice
    def draw_n():
        pendown()
        left(90)
        forward(50)
        right(135)
        forward(70.7)
        left(135)
        forward(50)
        backward(50)
        right(90)
        penup()
        forward(25)
    
    draw_q()
    penup()
    forward(25)
    pendown()
    draw_u()
    penup()
    forward(25)
    pendown()
    draw_i()
    penup()
    forward(25)
    pendown()
    for i in range(2):
    draw_n()
    

    【讨论】:

    • 虽然此代码可能会解决问题,including an explanation 关于如何以及为什么解决问题将真正有助于提高您的帖子质量,并可能导致更多的赞成票。请记住,您正在为将来的读者回答问题,而不仅仅是现在提出问题的人。请edit您的回答添加解释并说明适用的限制和假设。
    • 我刚刚尝试了这个解决方案。出于某种原因,我在第 11 行遇到错误... for i in range(4): forward(50) 它是说“E112 期望缩进块”
    • 但是,如果我缩进它,该行的错误就会消失,但最后一行“draw_n()”会出现错误。然后,如果我缩进最后一行,那么每一行代码都会抛出一个错误?
    • 我已经修复了我遇到的错误;但是,您的解决方案似乎没有创建“Q”。我得到的图片是字母 U、I、N、N 垂直堆叠在一起,所有字母都由字母左侧的线连接。
    • 你用什么来编码?我在 python 3 中使用海龟
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-12
    • 2021-05-17
    • 1970-01-01
    • 2018-03-23
    • 2014-08-29
    • 2023-03-28
    • 1970-01-01
    相关资源
    最近更新 更多