【发布时间】:2017-10-27 16:11:31
【问题描述】:
您好,我还是 python 的新手,想知道为什么会有这行:
RP[p][t] = demand[p][t] / fillingrate[p]
导致错误:KeyError: 0
它遵循代码的相关部分。这只是符号错误还是解决它的最佳方法是什么?
productname = ('milk', 'yoghurt', 'buttermilk')
fillingrate = (1.5, 1.0, 2.0)
day = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
demand = [
(5, 4, 3, 3, 4, 9, 13, 5, 4, 4, 3, 5, 10, 12),
(3, 5, 3, 5, 5, 4, 3, 4, 3, 4, 3, 4, 5, 5),
(3, 3, 5, 4, 4, 5, 4, 3, 4, 3, 4, 5, 4, 5)
]
T = range (len(day))
P = range (len(productname))
for p in P:
for t in T:
RP[P,T] = model.addVar (lb = 0, vtype = GRB.CONTINUOUS,
name = 'Regular Production[' + str(p) + ',' + str(t) + ']')
print(demand[p][t])
print(fillingrate[p])
RP[p][t] = demand[p][t] / fillingrate[p]
print(RP[p][t])
【问题讨论】:
-
您正在使用
[P,T]索引RP,这是一个范围元组。RP在哪里声明?RP在哪里得到[0]元素?