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

时间:2014-12-11 14:56:31

标签: python python-3.x turtle-graphics

我有这个功能的逻辑错误。我需要编写一个名为spikes()的函数来绘制 从共同起点辐射的线。它需要三个参数 numLines表示要绘制的行数,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 :(得分: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))