猿问

类型错误:“str”对象不可调用 Python 3.7.0

对不起,伙计们浪费你的时间和一个新手在这里。今天我遇到了一个问题。这是我的代码:


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 个参数的函数绘制一个 turlte 正方形: '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


慕雪6442864
浏览 187回答 1
1回答

梦里花落0921

color是函数中的局部变量(作为参数提供)draw_square。您传递一个字符串 ( 'red') 作为所述参数,然后像调用函数一样调用它color('color')&nbsp; # color == 'red', so 'red'('color') is tried here您可以通过不隐藏乌龟函数来避免这种color情况draw_square:def draw_square(length, given_color):&nbsp; &nbsp; for i in range(4):&nbsp; &nbsp; &nbsp; &nbsp; forward(length)&nbsp; &nbsp; &nbsp; &nbsp; color(given_color)&nbsp; # color here will be the actual function from turtle&nbsp; &nbsp; &nbsp; &nbsp; left(90)&nbsp; &nbsp; return length, given_color
随时随地看视频慕课网APP

相关分类

Python
我要回答