TypeError:'str'对象不可调用Python 3.7.0

时间:2018-11-14 06:09:30

标签: python python-3.x

抱歉,您在这里与新手在一起浪费您的时间。今天我遇到一个问题。这是我的代码:

from turtle import *
shape("turtle")


def draw_square(length,color):

for i in range(4):
    forward(length)
    color('color')
    left(90)
return length,color



draw_square(100,'red')




mainloop()

该项目是使用带有2个参数的函数绘制长方体正方形:'length'和'color'。 15分钟前我确实成功地绘制了与项目要求相符的图纸。之后,我再次运行该项目,然后出现此问题。我对此完全死了。你们能帮我吗?非常感谢。

这是VS对我说的:

Traceback (most recent call last):
File "ex3.py", line 15, in <module>
draw_square(100,'red')
File "ex3.py", line 9, in draw_square
color('color')
TypeError: 'str' object is not callable

1 个答案:

答案 0 :(得分:2)

colordraw_square函数中的局部变量(作为参数提供)。您传递一个字符串('red'作为上述参数,然后像调用一个函数一样调用它

color('color')  # color == 'red', so 'red'('color') is tried here

您可以通过不遮盖color中的乌龟函数draw_square来避免这种情况:

def draw_square(length, given_color):
    for i in range(4):
        forward(length)
        color(given_color)  # color here will be the actual function from turtle
        left(90)
    return length, given_color