어제 이 수업의 기말고사가 있었고, 상현이는 지금 학생들의 기말고사 시험지를 채점하고 있다. 기말고사 점수가 40점 이상인 학생들은 그 점수 그대로 자신의 성적이 된다. 하지만, 40점 미만인 학생들은 보충학습을 듣는 조건을 수락하면 40점을 받게 된다. 보충학습은 거부할 수 없기 때문에, 40점 미만인 학생들은 항상 40점을 받게 된다.
학생 5명의 점수가 주어졌을 때, 평균 점수를 구하는 프로그램을 작성하시오.
입력
입력은 총 5줄로 이루어져 있고, 원섭이의 점수, 세희의 점수, 상근이의 점수, 숭이의 점수, 강수의 점수가 순서대로 주어진다.
점수는 모두 0점 이상, 100점 이하인 5의 배수이다. 따라서, 평균 점수는 항상 정수이다.
ans = []
for i in range(5):
ans.append(int(input()))
result = []
for i in ans:
if i < 40:
result.append(40)
else:
result.append(i)
avg = sum(result) / len(result)
print(int(avg))
풀이
엄청 원초적으로 풀어봤습니다...ㅋㅋㅋㅋ
먼저 ans 변수를 리스트로 초기화해서 for문으로 5개의 정수를 입력받고
result 변수 역시 리스트로 초기화 한 후 for문 안에서 if문을 사용해서
i로 받는 정수가 40미만을 만족할 때 즉, i < 40 일 때는 result 리스트에 40이라는 정수가 들어가게 하고
나머지(else)는 i로 받은 정수 그대로 result 리스트에 추가(append)해줬습니다.
key point
파이썬에서 평균을 구하는 방법은 두 가지가 있는데요.
sum 함수를 이용해서 리스트에 있는 값들을 다 더한 후
len 함수를 이용해서 리스트의 길이로 나누는 방법과
numpy 모듈을 이용해서 그 안에 내제함수인 mean 함수를 사용하는 방법이 있습니다. 참고하세요👍🏻
댓글