2015-02-02 2 views
-1

저는 파이썬에 익숙하지 않고 이미했던 프로그래밍에 함수를 추가하는 방법을 알아 내려고하고 있습니다. 나는 글자 등급을 GPA (Grade Point Average)로 변환하기 위해 약간 (아래) 글을 썼다. 그리고 글자를 여러 개 입력하고 평균 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

하는 파이썬 딕셔너리를 검색 : '{'A '를 4,'B ': 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)