我试图让这种方法起作用,但事实并非如此。
相关代码:
for (i, t) in enumerate(transitions[location]):
print i+1, t[0]
actionChoice=int(raw_input("> "))
console.clear()
transitions=transitions[location][actionChoice-1]
我得到类型错误:元组索引必须是整数,而不是元组
我应该在哪里修理它?这是什么意思?
答案 0 :(得分:5)
location
是一个元组。此行会导致错误:transitions[location]
另请注意,enumerate
接受start
参数,因此您可以使用enumerate(x, start=1)
来避免撰写i+1
答案 1 :(得分:0)
这是一个演示:
正确:
>>> tup=(1,2)
>>> tup[0]
1
不正确:
>>> tup[(0,0)]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: tuple indices must be integers, not tuple
>>> tup[1,]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: tuple indices must be integers, not tuple
最有可能的是,location是一个元组 - 不是整数。