首页 文章

如何获得这个乌龟功能的正确输出?

提问于
浏览
0

我有这个功能的逻辑错误 . 我需要编写一个名为spikes()的函数来绘制从公共起点辐射的线 . 它需要三个参数,它们是要绘制的行数的numLine,第一行的长度的lengthIncr和连续行的长度的增加,以及顺时针的角度,它是连续行之间的角度 . 我使用最新版本的Python(3.4.2) . 此外,函数spides必须重复调用函数drawLine() . 我认为错误是函数spikes中drawLine的调用函数,但我不知道如何解决它 . 我得到的输出是一条非常长的曲线,永远向下 . 我应该得到的实际输出是尖峰 . 这是代码:

#Question 14 Part a-

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

def drawLine(t, length): 
    t.pendown()
    t.forward(length)
    t.penup()


length = 50
drawLine(t, length)

#Question 14 Part b-

def spikes(numLines, lengthIncr, angle):
    for i in range(numLines):
        drawLine(t, lengthIncr * i)
        t.right(angle)

print(spikes(36, 25, 5))

#Output I should get: '''

1 回答

  • 0

    我不是 turtle 的专家,但这是你要找的吗?

    import turtle
    s = turtle.Screen()
    t = turtle.Turtle()
    
    def drawLine(t, length): 
        t.pendown()
        t.forward(length)
        t.penup()
    
    def there_and_back(t, length):
        drawLine(t, length)
        t.penup()
        t.right(180)
        t.forward(length)
        t.right(180)
        t.pendown()
    
    length = 50
    
    #Question 14 Part b-
    
    def spikes(numLines, lengthIncr, angle):
        for i in range(numLines):
            length = lengthIncr * i
            there_and_back(t, length)
            t.right(angle)
    
    print(spikes(36, 25, 5))
    

相关问题