周末的图书馆真是太热闹了,好多小孩子围在一起做作业让我想起以前读书的时候也是这样。刚好这个课后练习就是计算成绩的平均分,想来当初老师如果有这玩意应该会轻松很多吧,毕竟一个一个算实在是有够麻烦的。不是很复杂的小脚本,不过很实用。
lloyd = {
"name": "Lloyd",
"homework": [90.0, 97.0, 75.0, 92.0],
"quizzes": [88.0, 40.0, 94.0],
"tests": [75.0, 90.0]
}
alice = {
"name": "Alice",
"homework": [100.0, 92.0, 98.0, 100.0],
"quizzes": [82.0, 83.0, 91.0],
"tests": [89.0, 97.0]
}
tyler = {
"name": "Tyler",
"homework": [0.0, 87.0, 75.0, 22.0],
"quizzes": [0.0, 75.0, 78.0],
"tests": [100.0, 100.0]
}
students = [lloyd,alice,tyler]
def average (lst): #计算平均值,精确到小数点
return float(sum(lst))/len(lst)
def get_average(student): #按照不同的比例计算平比分,大学经常这样弄
homework = student['homework']
quiz = student['quizzes']
test = student['tests']
return average(homework)*0.1 +average(quiz)*0.3 + average(test)*0.6
def get_letter_grade(score): #按照分数排等级
if score >= 90:
return "A"
elif score >= 80 and score < 90:
return "B"
elif score >= 70 and score < 80:
return "C"
elif score >= 60 and score < 70:
return "D"
else :
return "F"
def get_class_average(class_list): #计算全班的平均分,先用循环计算出总分然后除去人数
total = 0
for i in class_list:
total += get_average(i)
return total/len(class_list)
等基本的知识牢固之后再就是逻辑思维的考验了,革命尚未成功,同志仍需努力!