说我list index out of range
我的列表R和列表PE都有28个值
问题出在哪里了?应该如何解决?谢谢大家
#三水源划分
FR = [0.5]
S = [0]
AU = []
RS_3 = []
RI_3 = []
RG_3 = []
for i in range(0,28):
FR.append(round(R[i] / PE[i],1))
AU.append(round(Smm * (1 - pow(1 - S[i] * FR[i] / 0.5 / Sm, 1 / (1 + EX))),1))
#计算RS
if PE[i] > 0:
if PE[i] + AU[i] < Smm:
RS_3.append(round(FR[i] * (PE[i] + S[i] * FR[i] / 0.5 - Sm + Sm * pow(1 - (PE[i] + AU[i]) / Smm, EX + 1)),1))
else:
RS_3.append(round(FR[i] * (PE[i] + S[i] * FR[i] / 0.5 - Sm),1))
else:
RS_3.append(round(0,1))
代码中使用的range(0, 28)会遍历索引0到27,所以当你尝试访问索引28的时候,就会出现"list index out of range"错误,改成range(0,27)
应该是0-27
S = [0]
S[i]越界了