擅长:python、mysql、java
<p>理解错误消息是解决问题的关键。你知道吗</p>
<p>调用函数时,可以添加括号和任何参数:</p>
<pre><code>>>> def func():
... print('worked!')
...
>>> func()
worked!
</code></pre>
<p>但是当你给一个不是函数的东西加上括号时会发生什么呢?你知道吗</p>
<pre><code>>>> func = 1
>>> func()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable
>>> func = 'abc'
>>> func()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object is not callable
</code></pre>
<p>因此,您的错误表明您试图调用的函数(<code>changeDirectionTo(3)</code>)不是函数,而是字符串。你知道吗</p>
<p>由于有一行<code>def changeDirectionTo</code>将其声明为函数,请查找<code>changeDirectionTo</code>的其他替代此定义的用法。你知道吗</p>
<p>问题出在<code>def __init__</code>。这两行声明一个字符串,然后将其赋给<code>changeDirectionTo</code>,覆盖前面的函数定义。你知道吗</p>
<pre><code> self.direction = "RIGHT"
self.changeDirectionTo = self.direction
</code></pre>
<p>使用其他变量名或删除行来解决问题。你知道吗</p>