“'int'对象不可调用”

2024-09-25 00:28:27 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的脚本,http://pastebin.com/zgRrBX0U

作为参考,这是zedshaw的“艰难的学习python”的ex36脚本。 我试图创造一个文本为基础的冒险设计从第一级塞尔达传奇。在

但我在开始这个项目时遇到了一个问题。这样你就可以从主房间开始了。但不管你往哪个方向走,都会有一个错误的说法对象不可调用。我无法通过搜索来理解这意味着什么。或者看看pydocs。任何帮助都将不胜感激。在


Tags: 项目文本脚本comhttp错误方向基础
3条回答

您将roomBA和{}定义为函数,然后稍后。。。你把它们绑定到整数。当然不行。在

第47行:

def roomBA(key, life, door_open, roomBA, roomDA):

你在这里定义了一个名为roomBA的函数。在

第129行:

^{pr2}$

这里,你已经把roomBA改成了0号。在

因此,您定义的原始函数将丢失。你再也没有名字来称呼它了。在

第132行:

roomCA(key, life, door_open, roomBA, roomDA)

这里,你正在呼叫功能室CA。除此之外,此函数向播放器请求方向,然后尝试调用相应的room函数。在

我输入了west,所以我们试图调用变量roomBA引用的函数(第17行)。但是,哦,不,它不再是一个函数。是0。因此,你错了。在

问题是函数名和变量名之间有很多冲突。当然,roomXX是代表游戏中每个房间的函数。然后,您就有了状态变量(目前也被命名为roomXX)。这些变量似乎是用来跟踪你之前是否进入过房间。由于函数和状态变量的名称相同,所以您正在做各种意想不到的事情。在

正如上面提到的,您可以删除第129行和第130行来运行代码;但是,您可能需要更好地理解基础知识。从这里开始:

http://en.wikipedia.org/wiki/Scope_%28computer_science%29

删除第129行和第130行,它将起作用,正如伊格纳西奥所说。在

在Python中,“callable”通常是一个函数。这个消息意味着您将把一个数字(“int”)当作一个函数(“callable”),因此Python不知道该怎么做,所以它停止了。在

相关问题 更多 >