我有一本字典,里面有hw,qz,考试和项目的分数。我必须创建一个函数来计算包含成绩的字典的总成绩。我的问题是我们必须降低最低测验等级。我知道如何删除“qz”中的最低值。关键,但如果我这样做,它仍然会被测验的总点数除以。我的问题是如何降低最低测验分数,以便更改测验值的总分数。
Grades = {'hw':[16,27,25], 'qz':[8,10,5], 'ex':[83,93], 'pr':[18,15]}
def Grade_Calculation():
One = sum(Grades['hw'])/90 * .25
Two = sum(Grades['qz'])/30 * .25
Three = sum(Grades['ex'])/200 * .25
Four = sum(Grades['pr'])/40 * .25
Final_Grade=(One + Two + Three + Four)
return Final_Grade
答案 0 :(得分:0)
你可以删除它:
Grades['qz'].remove(min(Grades['qz']))
或者你可以在计算中不使用它:
sum(sorted(Grades['qz'])[1:])
答案 1 :(得分:0)
当你使用硬编码值并且总是需要丢弃其中一个分数时,为什么不将它除以20而不是30?
Grades = {'hw':[16,27,25], 'qz':[8,10,5], 'ex':[83,93], 'pr':[18,15]}
def Grade_Calculation():
One = sum(Grades['hw'])/ (3 * 30)
Two = sum(sorted(Grades['qz'])[1:])/ ((3 - 1) * 10)
Three = sum(Grades['ex'])/ (2 * 100)
Four = sum(Grades['pr'])/ (2 * 20)
Final_Grade=(One + Two + Three + Four) * .25
return Final_Grade
如果测验中可以得到的分数变化会变得更复杂,那么你需要有一些列表,其中包含每个测验中可实现的分数。