我想編寫一個程序,讀取CSV
學生的分數列表,並執行以下操作:CSV編程讀寫
程序計算考試平均爲每個學生和其四捨五入爲整數的使用數學然後它將名稱和考試平均數寫入另一個csv
文件,名爲examScores.csv
最高分5分內的學生姓名和分數,例如,如果最高分爲98分,則所有打分> = 93的學生都應該打印。
在0-59,60-69,70-79,80-89,90-100範圍內得分的學生人數(爲了追蹤範圍,你應該設置一個大小爲5的計數器列表;當你在第一個範圍內處理一個數字時,你更新位置0,在第二個範圍內,位置1等等)。
我對此很難過。這是到目前爲止,我炮製代碼:
inpt1=open("grades.csv","r")
outpt1=open("examscores.csv","w")
studentname=[]
studentlastname=[]
gradeav=[]
highav=0
inpt1.readline()
for line in inpt1:
data=line.split(",")
averages=math.ceil(data[2])+float(data[3])/2
studentname.append(data[0])
studentlastname.append(data[1])
gradeav.append(averages)
inpt1.close()
outpt1.close()
我不能讓數學小區功能的工作和我的追加不工作爲好。當然,我不希望任何人爲我解決這個問題,只需要一個提示或推動正確的方向。
我建議看看涵蓋正確打開和讀取csv文件的線程,將這些數據保存到列表中,並在列表上進行平均。代碼中有幾處錯誤,所有這些都在這裏的全部3個例子中進行了解釋。使用字典列表來存儲數據可能會更容易,但如果太複雜,您可以在技術上堅持使用一堆單獨的列表。 – Chris