코드
grade_dict = {'A+': 4.5, 'A0': 4.0, 'B+': 3.5, 'B0': 3.0, 'C+': 2.5, 'C0': 2.0, 'D+': 1.5, 'D0': 1.0, 'F': 0}
total = 0 # 학점 총합을 담을 변수
result = 0 # (학점 * 과목평점) 총합을 담을 변수
for _ in range(20):
name, credit, mark = input().split()
credit = float(credit)
if mark != 'P': # 등급이 P인 과목은 계산 안함
total += credit
result += credit * grade_dict[mark]
print('%.6f' % (result / total))
딕셔너리를 사용하여 학점을 정의해주었고, if문에서 딕셔너리에 ` mark `에 해당하는 학점과 credit을 곱한 값을 result에 더해주는 것으로 코드를 간결화 하였다.
딕셔너리를 사용하여 한 줄로 간소화가 가능했다.
'BeakJoon > Python' 카테고리의 다른 글
[Python] 백준 #2530번: 인공지능 시계 (0) | 2023.12.18 |
---|---|
[Python] 백준 #13458번: 시험 감독 (0) | 2023.12.18 |
[Python] 백준 #2606번: 바이러스 (0) | 2023.12.13 |
[Python] 백준 #3474: 교수가 된 현우 (1) | 2023.12.08 |
[Python] 백준 #1072번: 게임 (0) | 2023.12.07 |