2024-09-25 00:28:27 发布
网友
这是我的脚本,http://pastebin.com/zgRrBX0U
作为参考,这是zedshaw的“艰难的学习python”的ex36脚本。 我试图创造一个文本为基础的冒险设计从第一级塞尔达传奇。在
但我在开始这个项目时遇到了一个问题。这样你就可以从主房间开始了。但不管你往哪个方向走,都会有一个错误的说法对象不可调用。我无法通过搜索来理解这意味着什么。或者看看pydocs。任何帮助都将不胜感激。在
您将roomBA和{}定义为函数,然后稍后。。。你把它们绑定到整数。当然不行。在
roomBA
第47行:
def roomBA(key, life, door_open, roomBA, roomDA):
你在这里定义了一个名为roomBA的函数。在
第129行:
这里,你已经把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不知道该怎么做,所以它停止了。在
您将}定义为函数,然后稍后。。。你把它们绑定到整数。当然不行。在
roomBA
和{第47行:
你在这里定义了一个名为roomBA的函数。在
第129行:
^{pr2}$这里,你已经把roomBA改成了0号。在
因此,您定义的原始函数将丢失。你再也没有名字来称呼它了。在
第132行:
这里,你正在呼叫功能室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不知道该怎么做,所以它停止了。在
相关问题 更多 >
编程相关推荐