【问题标题】:Averaging Letter grades to calculate gpa average for python平均字母成绩以计算python的gpa平均值
【发布时间】:2016-05-27 04:08:05
【问题描述】:

我必须输入一个字母等级,例如A+,B-,C等,我需要python根据输入的等级计算数值平均值。我的老师希望我们创建一个程序,让用户必须输入 5 个字母的等级,然后 python 计算数值平均值。请帮忙。我很迷茫。

【问题讨论】:

  • 我们不是来给你写作业的。尝试一些东西。返回一个与您尝试过的代码相关的问题。
  • 提示:为初学者阅读更多关于 Python dicts 的信息。
  • 我对 Python 的了解不够,无法回答,但我会告诉你需要做什么的“诗人物理学”。正如塞尔丘克所说,您需要创建一个字典。字典将有一个key 和一个value(“A”:4,“B”:3,“C”:2,“D”:1,“F”:0)。 stackoverflow.com/q/8424942/4475605 每当您输入内容并按回车键时,您都会希望告诉它在字典中查找字母的值并将其附加(添加)到数组(列表)中。当列表的计数为 5 时,计算一个值并打印它。

标签: python


【解决方案1】:

以下是您需要执行的任务的一些工作代码。希望它可以帮助您入门。但我强烈建议您不要将此代码提交给您的老师。奇怪的是,如果你在这个作业上寻求帮助,你还没有学到我的解决方案中使用的许多概念(你的老师会注意到这一点)。帮自己一个忙,尝试自己编写代码。如果您仍然需要帮助,请使用您尝试过的代码在 StackOverflow 上发布更具体的问题。

mean = lambda l: float(sum(l))/len(l) if len(l) > 0 else float('nan')

def letter_to_number(grade):
    grades = {
        'A+': 100,
        'A': 96,
        'A-': 92,
        'B+': 89,
        'B': 86,
        'B-': 82,
        'C+': 79,
        'C': 76,
        'C-': 72,
        'F': 65
    }

    return grades.get(grade, grades['F'])

def compute_average_grade(grades):
    return mean(map(letter_to_number, grades))

【讨论】:

    猜你喜欢
    • 2019-08-25
    • 2015-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-03
    相关资源
    最近更新 更多