我收到这个TypeError
:
if 'Stack 6' in placement():
TypeError: 'str' object is not callable.
在我的for
-each语句中将它转换为整数不起作用,我无法更改列表中的任何值。
我无法理解为什么这会返回TypeError
:
game = [['Stack 6', 'Suit D', 9, 6],
['Stack 4', 'Suit B', 5, 0]]
for instructions in game:
for placement in instructions:
if 'Stack 6' in placement():
print(placement)
然而,这段相似的代码不会返回任何错误:
elements = [['he', 'ne', 'Ar', 'Kr'],
['F', 'Cl', 'Br', 'I']]
for family in elements:
for symbol in family:
if 'a' in symbol.lower():
print(symbol)
placement
不是一个功能。这是一个string
。将括号放在对象后面告诉python调用该对象,而对于字符串则不能这样做。删除括号以修复代码。
使用symbol.lower()
的代码是有效的,因为lower()
是一个可以调用以返回某些东西的函数。
Here's a handy link更详细地解释python中的callable是什么。