【问题标题】:Python Turtle Graphics SimplificationPython Turtle 图形简化
【发布时间】:2017-02-10 00:17:31
【问题描述】:

只是回顾我即将到来的期中考试。我们得到了过去的中期问题,但没有解决方案。我正在尽我所能掌握知识。

对于这个问题,它要求定义一个名为 equalSigns 的函数,将值 t 和长度传递给它。所以,我只需要在海龟图形中制作我的程序,创建两条平行线,我想很简单。这是我编写的代码,只是为了正确输出 x 长度的等号。 (那我当然会把它转换成一个函数)我的问题,有没有更好的方法来创建它?

    import turtle
t=turtle.Turtle()
s=turtle.Screen()

t.forward(200)
t.penup()
t.home()
t.right(90)
t.forward(50)
t.pendown()
t.left(90)
t.forward(200) 
'''i suppose i dont have to go home and then down. 
instead just continue and go down and forward left.
but either way, is this the best approach to take?
'''

【问题讨论】:

    标签: python turtle-graphics


    【解决方案1】:

    是的,我认为有更好的方法。最重要的是,我认为你转错了方向:你需要再右转一次才能沿着下线返回。

    可以创建一个执行 half-equals 的例程,然后将其全部执行两次以获得两条线。把它想象成画一个矩形,除了短边是不可见的。

    # Draw long side
    t.pendown()
    t.forward(x)
    t.penup()
    t.right(90)
    
    # Move along short side without drawing
    t.forward(x/4)
    t.right(90)
    

    这会将您带到矩形的对角。调用两次,您就完成了……然后回到起点。

    【讨论】:

    • 我的结果很好,只是看起来有点不正统,谢谢你这是我要找的!
    【解决方案2】:

    也许你可以让你的乌龟跳出壳来思考:

    import turtle
    import tkinter as _
    
    _.ROUND = _.BUTT
    
    turtle.width(50)
    turtle.forward(200)
    turtle.color("white")
    turtle.width(48)
    turtle.backward(200)
    
    turtle.done()
    

    (两端的竖灰色条是GIF转换的产物,程序运行时不存在。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-19
      • 2017-11-09
      • 1970-01-01
      • 2019-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-11
      相关资源
      最近更新 更多