我不知道為什么當我運行我的代碼時,我收到一個 IndexError,說我的串列超出了范圍。我在“如果 x[1] ==“強烈同意”:“時遇到錯誤。我已經多次瀏覽我的代碼,但我不知道如何修復..
這是我的代碼(不包括匯入):
firstList = [0, 0, 0, 0, 0]
secondList = [0, 0, 0, 0, 0]
with open("surveyData.txt", 'r') as f:
answers = f.read().split('\n')
for x in answers:
x = x.split(',')
if x[0] == "very happy":
firstList[0] = 1
elif x[0] == "happy":
firstList[1] = 1
elif x[0] == "neutral":
firstList[2] = 1
elif x[0] == "unhappy":
firstList[3] = 1
else:
firstList[4] = 1
if x[1] == "strongly agree":
secondList[0] = 1
elif x[1] == "agree":
secondList[1] = 1
elif x[1] == "neutral":
secondList[2] = 1
elif x[1] == "disagree":
secondList[3] = 1
else:
secondList[4] = 1
def showHistogram(dataList, bars):
plt.bars(bars, dataList)
plt.show()
question1_freq = ['very happy', ' happy', 'neutral', 'unhappy', 'very unhappy']
showHistogram(firstList, question1_freq)
question2_freq = ['strongly agree', 'agree', 'neutral', 'disagree', 'strongly disagree']
showHistogram(secondList, question2_freq)
示例文本檔案:不高興,非常同意
很不開心,非常同意
開心,同意
中立,非常同意
開心,同意
很不開心,非常同意
中立,非常同意
很開心,不同意
uj5u.com熱心網友回復:
只需更改下面的行,休息似乎沒問題
answers = f.read().splitlines()
uj5u.com熱心網友回復:
查看您的檔案資料。確保你的代碼正在做你期望它做的事情。如果 x[1] 不存在/串列以 x[0] 結尾,你會得到一個索引錯誤(基本上你正在嘗試操作不存在的東西)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/360829.html
上一篇:尋找最小平均值
下一篇:我如何遞回地總結串列的兩半
