我正在嘗試用python編寫決策矩陣,到目前為止,我已經(jīng)建立了二維矩陣,設(shè)置了列表來保存決策選項(xiàng)和標(biāo)準(zhǔn)的標(biāo)題,獲?。ㄟx項(xiàng)和標(biāo)準(zhǔn)的)數(shù)量和標(biāo)題從用戶那里,然后從用戶那里獲得條件和選項(xiàng)的值。我想繼續(xù)下一步,根據(jù)這些值做出決定,但出現(xiàn)此錯誤:Traceback (most recent call last):
File "/home/michael/std/dev/python/DM/DM0.0.2.py", line 56, in <module>
print "\nOut of 10, how do you rate option %s for criteria %s?" % (optionNames[optionCount], criteriaNames[criteriaCount])
IndexError: list index out of range我已經(jīng)嘗試了各種修復(fù)方法,使用幾種樣式的流控制等對代碼進(jìn)行了重新排列,但我無法弄清楚。從下面的完整代碼中可以看到,我提供了一些打印語句,以便給自己一些有關(guān)代碼正在發(fā)生什么的反饋,這對我來說似乎是正確的。有人可以告訴我我要去哪里了嗎? ?謝謝。
2 回答

開滿天機(jī)
TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個贊
據(jù)我了解,您想為每個條件和選項(xiàng)組合輸入分?jǐn)?shù)。
問題出在您的三個讓索引變糟的地方。一種更清潔的方法將是雙重循環(huán):
for option in xrange(num_options):
for criteria in xrange(num_criteria):
# read input
Matrix[option][criteria] = score
對于更清潔的列表初始化,您可以使用
[0]*num_options
如果我的理解是正確的并且符合您的期望,請現(xiàn)在嘗試將此代碼重寫為while循環(huán)以了解錯誤。
添加回答
舉報(bào)
0/150
提交
取消