抱歉,您在这里与新手在一起浪费您的时间。今天我遇到一个问题。这是我的代码:
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
答案 0 :(得分:2)
color
是draw_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