【问题标题】:Tuple dictionary key not able to be retrieved无法检索元组字典键
【发布时间】:2013-06-04 19:12:06
【问题描述】:

一个问题来了,另一个问题来了——我还有另一个(可能同样明显)问题:

'tuple' object is not callable

来自

for a in range(current_view_y,current_view_y+60):
    for b in range(current_view_x,current_view_x+80):
        if (b,a) in unervise:
            screen.blit(Surface(unervise[(b,a)].color()))

我不认为这实际上与 pygame 代码有关,只是另一位(所以我认为屏幕到表面是可以忽略的。 (上一个问题与字典生成代码:here 我再次为这可能是多么明显而道歉 - 但我根本看不到它(我不能在上一个问题上发布它)。 大多数关于此的主题都说缺少逗号是罪魁祸首 - 但我只有一个。

【问题讨论】:

  • 请务必包含完整的回溯。

标签: python python-2.7 dictionary tuples pygame


【解决方案1】:

您正在尝试使用 block 类的 .color 属性作为方法,但它是一个元组:

screen.blit(Surface(unervise[(b,a)].color()))

去掉多余的()

screen.blit(Surface(unervise[(b,a)].color))

【讨论】:

  • 我一直在做这些事情——问题是,我家里的任何人都不知道 pygame 所以帮不了我——谢谢!
  • 从来不知道我能做到这一点!虽然(当然是我的错)我刚刚通过运行我的代码设法使我的计算机崩溃 - 它甚至打破了重新启动。我现在真的很困惑。
  • 无论您的计算机发生什么故障都与 Python 无关,我可以告诉您这么多。 :-)
  • 实际上确实如此,我尝试在一行上同时填充、blip 和前面的代码 - 由于填充改变了它所作用的变量,并且实际上并没有返回值,所以它暂时中断了我的电脑。
  • 它最多破坏了你的代码;我怀疑您的计算机启动过程是否依赖于 Python 代码。 :-)
猜你喜欢
  • 2014-01-30
  • 2011-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多