2015-02-02 2 views
-1

Я новичок в python и пытаюсь выяснить, как добавить функцию к некоторому программированию, которое я уже сделал. Я написал (ниже) немного, чтобы преобразовать класс письма в GPA (Средняя оценка) и хочу изменить его, чтобы я мог ввести несколько букв и получить усредненный показатель GPA. У меня возникают проблемы с тем, как заставить его запускать каждое входное письмо, а затем преобразовать его в новую форму; Я думаю, что мне нужно использовать «для gp в диапазоне:», но я довольно потерял, как начать. Есть идеи?Новое для Python - Создание калькулятора GPA

from sys import argv 
def gp(w): 
if w.startswith("A"): 
    gp= int(4) 
if w.startswith("B"): 
    gp= int(3) 
if w.startswith("C"): 
    gp= int(2) 
if w.startswith("D"): 
    gp= int(1) 
if w.startswith("F"): 
    gp= int(0) 
if w.endswith("+"): 
    return gp+0.3 
if w.endswith("-"): 
    return gp-0.3 
else: 
    return gp 
if __name__ == '__main__': 
grade = argv[1] 
print("%.1f" % gp(grade)) 
+3

Посмотрите Python Dict: '{ 'A': 4 'В': 3, 'C': 2, 'D': 1, 'F': 0}' – dawg

ответ

0
def gp(ltr): 
    grade = {"A":4.0, "B":3.0, "C":2.0, "D":1.0, "F":0.0} 
    mod = {"": 0.0, "+":0.3, "-":-0.3} 
    return grade[ltr[0]] + mod[ltr[1:]] 

letters = "B A A- C F A" 
grades = [gp(letter) for letter in letters.split()] 
average = sum(grades)/len(grades) 
Смежные вопросы