문제
상현이가 가르치는 아이폰 앱 개발 수업의 수강생은 원섭, 세희, 상근, 숭, 강수이다.
어제 이 수업의 기말고사가 있었고, 상현이는 지금 학생들의 기말고사 시험지를 채점하고 있다. 기말고사 점수가 40점 이상인 학생들은 그 점수 그대로 자신의 성적이 된다. 하지만, 40점 미만인 학생들은 보충학습을 듣는 조건을 수락하면 40점을 받게 된다. 보충학습은 거부할 수 없기 때문에, 40점 미만인 학생들은 항상 40점을 받게 된다.
학생 5명의 점수가 주어졌을 때, 평균 점수를 구하는 프로그램을 작성하시오.
입력
입력은 총 5줄로 이루어져 있고, 원섭이의 점수, 세희의 점수, 상근이의 점수, 숭이의 점수, 강수의 점수가 순서대로 주어진다.
점수는 모두 0점 이상, 100점 이하인 5의 배수이다. 따라서, 평균 점수는 항상 정수이다.
출력
첫째 줄에 학생 5명의 평균 점수를 출력한다.
예제
코드
sum = 0
for i in range(5) :
val = int(input())
if val < 40 :
val = 40
sum += val
print(int(sum/5))
- 5개를 출력한다고 했으니 range(5) 범위로 for문 만들기
- 점수가 40미만일 경우 무조건 40으로 점수가 환산되기 때문에 이에 해당하는 if 조건문 작성,아닐 경우 본래 점수 그냥 더해주기
- 평균을 출력해야하므로 다 더한 값/5 → 68.0으로 나와서 int()로 한 번 더 감싸줘야함
list_tmp = []
for i in range(5) :
val = int(input())
if val < 40 :
val = 40
list_tmp.append(val)
print(int(sum(list_tmp)/5))
sum()
- terable인 list, tuple, dictionary의 합을 리턴하는 함수
- 숫자가 아닌 객체가 있을 때 TypeError가 발생
sum(iterable)
: iterable의 합sum(iterable, start)
: start + iterable의 합
출처
반응형
'Algorithm > Python' 카테고리의 다른 글
[프로그래머스] 모의고사 (Python) (0) | 2021.07.22 |
---|---|
[백준알고리즘] 1934번 최소공배수 (Python) (0) | 2021.07.13 |
[백준알고리즘] 2753번 윤년 (Python) (0) | 2021.07.11 |
[백준알고리즘] 1798번 수들의 합 (Python) (0) | 2021.07.10 |
[백준알고리즘] 11653번 소인수분해 (Python) (1) | 2021.07.09 |