以下代码错误多吗,分别在哪里,怎样修改,可以扫一个完整代码吗?
import csv
# 把 'a' 改成 'w' 会好一点
with open('./score.csv', 'w', newline='', encoding='utf-8') as scorecsv: # 因为有中文,所以把 encoding 设置为 utf-8,后面的也是
writer = csv.writer(scorecsv)
writer.writerow(['考号', '程序', '设计', '体育', '经济学'])
writer.writerows([
['101', '72', '96', '88'],
['102', '68', '88', '73'],
['103', '63', '63', '66'],
['104', '95', '64', '65'],
['105', '89', '88', '57'],
['106', '77', '87', '77'],
['107', '67', '64', '97'],
['108', '44', '99', '64'],
['109', '82', '73', '75'],
['110', '79', '78', '85']
])
with open('./score.csv', 'r', encoding='utf-8') as scorecsv:
reader = csv.reader(scorecsv)
for row in reader:
print(row)
sum1 = sum2 = sum3 = 0
max1 = max2 = max3 = 0
min1 = min2 = min3 = 0
with open('./score.csv', 'r', encoding='utf-8') as scorecsv:
reader = csv.reader(scorecsv)
for i in reader:
if i[0] != '考号':
sum1 += int(i[1])
sum2 += int(i[2])
sum3 += int(i[3])
# 简化求最小值和最大值的代码
with open('./score.csv', 'r', encoding='utf-8') as scorecsv:
reader = csv.reader(scorecsv)
rows = list(reader)[1:]
rows1 = [row[1] for row in rows]
rows2 = [row[2] for row in rows]
rows3 = [row[3] for row in rows]
max1 = max(rows1)
max2 = max(rows2)
max3 = max(rows3)
min1 = min(rows1)
min2 = min(rows2)
min3 = min(rows3)
print('程序设计课程的平均分为:{},最高分为:{},最低分为:{}'.format(sum1 // 10, max1, min1))
print('体育课程的平均分为:{},最高分为:{},最低分为:{}'.format(sum2 // 10, max2, min2))
print('经济学课程的平均分为:{},最高分为:{},最低分为:{}'.format(sum3 // 10, max3, min3))