2016-02-16 4 views
-2

Мне нужно ввести класс оценки, пример A +, B-, C и т. Д., И мне нужен python для вычисления численного среднего значения на основе введенных оценок. Мой учитель хочет, чтобы мы создали программу, чтобы пользователь мог ввести 5 буквенных оценок, а затем python вычисляет числовое значение. Пожалуйста помоги. Я так потерялся.Усреднение Оценки букв для вычисления среднего значения gpa для python

+4

Мы не можем здесь написать домашнее задание для вас. Попробуйте что-нибудь. Вернитесь с вопросом, связанным с кодом, который вы пробовали. – Andy

+1

Подсказка: Узнайте больше о Python 'dict's для начала. – Selcuk

+0

Я не знаю Питона достаточно хорошо, чтобы ответить, но я расскажу вам «физику для поэтов» того, что вам нужно сделать. Как сказал Селчук, вам нужно создать словарь. Словарь будет иметь «ключ» и «значение» («A»: 4, «B»: 3, «C»: 2, «D»: 1, «F»: 0). http://stackoverflow.com/q/8424942/4475605 Всякий раз, когда вы вводите что-то и нажимаете клавишу ввода, вы хотите сказать ему, чтобы посмотреть значение буквы в словаре и добавить (добавить) его в массив (список). Когда количество списков равно 5, вычислите значение и распечатайте его. – Adrian

ответ

0

Вот какой рабочий код для задачи, которую вам нужно выполнить. Надеюсь, это поможет вам начать работу. Но я категорически не рекомендую вам передать этот код вашему учителю. Скорее всего, если вы просите о помощи в этом домашнем задании, вы не изучили многие концепции, используемые в моем решении (и ваш учитель это заметит). Сделайте себе одолжение и попробуйте написать код самостоятельно. Если вам все еще нужна помощь, напишите более конкретный вопрос о 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)) 
Смежные вопросы