基本上,我有两支球队有他们的首发阵容,我正在使用一个简单的公式,每个球员的进攻和防守等级来确定得分。我计划随着时间的推移对此进行扩展,显然会使得分变化并且并不总是相同;但是,现在我只是想弄清楚我一直在犯的错误。
以下是代码:
#Player Database
#Player = [OR,DR]
#Miami Heat
Chris_Bosh = [114-90,103-100]
Udonis_Haslem = [110-90,103-100]
Lebron_James = [125-90,101-100]
Dwayne_Wade = [112-90,103-100]
Mario_Chalmers = [110-90,104-100]
#San Antonio Spurs
Tim_Duncan = [107-90,95-100]
Tiago_Splitter = [118-90,100-100]
Kawhi_Leonard = [114-90,99-100]
Manu_Ginobili = [107-90,100-100]
Tony_Parker = [116-90,106-100]
#Team Database
MIA = [Chris_Bosh,Udonis_Haslem,Lebron_James,Dwayne_Wade,Mario_Chalmers]
SAS = [Tim_Duncan,Tiago_Splitter,Kawhi_Leonard,Manu_Ginobili,Tony_Parker]
#Engine
def engine():
#calculation:
MIA[0[0]] + SAS[0[1]] + MIA[1[0]] + SAS[1[1]] + MIA[2[0]] + SAS[2[1]] + MIA[3[0]] + SAS[3[1]] + MIA[4[0]] + SAS[4[1]] == MIAs
SAS[0[0]] + MIA[0[1]] + SAS[1[0]] + MIA[1[1]] + SAS[2[0]] + MIA[2[1]] + SAS[3[0]] + MIA[3[1]] + SAS[4[0]] + MIA[4[1]] == SASs
print ("Miami", MIAs," ", "San Antonio", SASs)
engine()
这是错误:
Traceback (most recent call last):
File "C:\Users\Kevin Lewis\Desktop\Kevin\Documents\Python\NBA Sim Engine.py", line 27, in <module>
engine()
File "C:\Users\Kevin Lewis\Desktop\Kevin\Documents\Python\NBA Sim Engine.py", line 24, in engine
MIA[0[0]] + SAS[0[1]] + MIA[1[0]] + SAS[1[1]] + MIA[2[0]] + SAS[2[1]] + MIA[3[0]] + SAS[3[1]] + MIA[4[0]] + SAS[4[1]] == MIAs
TypeError: 'int' object is not subscriptable
答案 0 :(得分:2)
这个,以及看起来像它的所有其他索引都是错误的:
MIA[0[0]]
你想做什么,也许是这个?
MIA[0][0]
请注意,MIA[0]
会返回0
列表的MIA
位置,这也恰好是一个列表,如果我们想要0
的位置第二个列表,然后我们必须再次使用[0]
运算符,因此MIA[0][0]
。
您写的内容不起作用,请说:0[0]
您声明您希望元素位于0
的{{1}}位置,但是0
不是列表,它是一个整数,这就是错误告诉的内容:0
。
那是第一个错误。 第二个错误在同一行:所有计算都丢失了,因为你没有保存它!这条(现在是固定的)线询问两个值是否相等:
'int' object is not subscriptable
我很确定你想在这里做的是一项任务,就是这样写的:
MIA[0][0] + SAS[0][1] + MIA[1][0] + SAS[1][1] + MIA[2][0] + SAS[2][1] + MIA[3][0] + SAS[3][1] + MIA[4][0] + SAS[4][1] == MIAs