【问题标题】:Python Issue While Making Simple Basketball Sim Engine制作简单篮球模拟引擎时的 Python 问题
【发布时间】:2013-06-20 08:37:43
【问题描述】:

基本上,我有两支球队的首发阵容,并且我使用一个简单的公式来确定每个球员的进攻和防守等级来确定得分。我计划随着时间的推移扩大这一点,显然让分数有所不同,并不总是一样;但是,现在我只想弄清楚我不断收到的错误。

代码如下:

    #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

【问题讨论】:

    标签: python simulator


    【解决方案1】:

    这个,以及所有其他看起来像它的索引都是错误的:

    MIA[0[0]]
    

    你想做什么,也许是这个?

    MIA[0][0]
    

    注意MIA[0] 返回MIA 列表的0 位置,这也恰好是一个列表,如果反过来我们想要第二个列表的0 位置,那么我们必须使用[0] 运算符再次出现,因此 MIA[0][0]

    你写的东西行不通,这样说:0[0] 你说你想要00 位置的元素,但是0 不是一个列表,它是一个整数编号,这就是错误的含义:'int' object is not subscriptable

    这是第一个错误。 second 错误在同一行中:所有计算都丢失了,因为您没有保存它!此(现已修复)行询问两个值是否相等:

    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
    

    我很确定你在这里要做的是一个作业,它是这样写的:

    MIAs = 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]
    

    【讨论】:

    • 谢谢,这就是问题所在!
    猜你喜欢
    • 1970-01-01
    • 2021-03-13
    • 2011-03-10
    • 1970-01-01
    • 1970-01-01
    • 2020-07-15
    • 1970-01-01
    • 1970-01-01
    • 2012-12-20
    相关资源
    最近更新 更多