2015-06-02 136 views
0

我想画5个海龟整数,但我正在逐渐上线25.这一个TypeError是我的代码:类型错误:起点必须是

import turtle 

wn = turtle.Screen() 
redrose = turtle.Turtle() 

color = input("What will your background color be?") 
fillcolor_f = input("What will the color of your rose be?") 

redrose.hideturtle() 
redrose.speed(30) 

redrose.penup() 
redrose.left(180) 
redrose.forward(175) 
redrose.right(90) 
redrose.forward(30) 
redrose.right(90) 
redrose.pendown() 

def drawRose(red): 
    redrose.color("pink") 
    redrose.fillcolor(fillcolor_f) 
    redrose.fill(True) 

    for i in range(red): 
     redrose.forward(i) 
     redrose.right(49) 
    for i in range(5): 
     drawRose(redrose) 
     redrose.penup() 
     redrose.forward(350) 
     redrose.right(144) 
     redrose.pendown() 

    redrose.fill(False) 


drawRose(50) 
wn.bgcolor(color) 

我想画五朵玫瑰花,但它产生错误。我在interactivepython.org上做了这个。

+0

我不能做了解释,因为我是一个中间编码 –

+0

你有一个被称为像这通常会导致问题的函数变量:颜色 – palsch

回答

2

您正在递归地调用drawRose的错误参数。在第23行(for i in range(red):),您预计red是一个整数,就是它在第36行(drawRose(50))上首次调用时的整数。但是,然后在第27行(drawRose(redrose)),您传递的是redrose对象,这是一只乌龟。我不清楚你应该在那里通过什么。我怀疑你甚至想递归地调用它。我怀疑你实际上想要另一个功能,如drawPetal

+0

我怕我只是打掉你的所有行号与我的编辑,用两颗代码块顶部错位的行。好的一面是,它将误差('range(red)')放在_actual_25行,就像错误信息所说的那样。只需在每个答案的行号中加2。 –

相关问题