250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- map
- 아이엠어바텐더
- count
- SQL 고득점 Kit
- Django
- pcce 기출문제
- YOLOv5
- 프로그래머스
- html
- 설계
- ORDER BY
- date_format
- GIT
- 파이썬
- where
- 프로젝트
- sql
- Python3
- python
- List Comprehension
- 단어 공부
- Len
- css
- 파이썬 슬라이싱
- 코딩테스트 연습
- 데이터
- Join
- 파이썬 몫
- 백준
- 슬라이싱
Archives
- Today
- Total
nan + nan = 2nan
[백준][Python3] #25206. 너의 평점은 본문
728x90
코드 입력
# 학점을 반환할 딕셔너리 생성
dict_grade = {
"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_score = 0 # 학점 * 등급 (총 평점)
total_point = 0 # 총 이수학점
for _ in range(20):
# 과목, 학점, 등급을 string으로 받음
subject, point, grade = map(str, input().split())
point = float(point) # 학점은 따로 float 처리
# Pass는 학점 계산 제외
if grade == 'P':
continue
else:
total_score += dict_grade[grade] * point
total_point += point
# 총 평점 / 총 이수학점
print(total_score/total_point)
처음에 while 문과 학점을 반환하는 함수를 따로 만들어서 시도했었는데,
계속 실패하길래 몇몇 과목을 스킵하는 이슈가 발생했다.
아무리 디버깅해도 원인을 알 수가 없어서 새로운 마음으로 다시 처음부터 작성해서 결국은 해냈다..
원래 시도했던 코드는 이렇다.
def grade_(input):
score = 0
if input == 'P' or input == 'F':
return 0.0
elif input[0] == 'A':
score = 4.0
elif input[0] == 'B':
score = 3.0
elif input[0] == 'C':
score = 2.0
else:
score = 1.0
if input[-1] == '+':
return score + 0.5
else:
return score
total_score = 0
total_point = 0
while True:
if len(input()) > 0:
list_score = list(map(str, input().strip().split()))
point = float(list_score[1])
if list_score[-1] == 'P':
continue
else:
score = grade_(list_score[-1])
total_score += score * point
total_point += point
else:
break
print(total_score / total_point)
출처 : 백준 Online Judge
'Python > 백준 알고리즘' 카테고리의 다른 글
[백준][Python3] #1157. 단어 공부 (0) | 2024.03.02 |
---|---|
[백준][Python3] #10988. 팰린드롬인지 확인하기 (0) | 2024.03.01 |
[백준][Python3] #11718. 그대로 출력하기 (2) | 2024.02.29 |
[백준][Python3] #2444. 별 찍기 - 7 (2) | 2024.02.29 |
[백준][Python3] #9086. 문자열 (0) | 2024.02.28 |
Comments