본문 바로가기
Python notes/Others

파이썬 예제코드) 성적 입력, 성적 평균, 일정 점수 이상 학생 수 구하기 (+range, input, for, if, append, len함수)

by 성실한 나무 2021. 3. 22.

#1. 파이썬으로 성적 평균 계산하기:

파이썬으로 성적 평균을 계산하는 과정은 아래와 같이 진행하려고 한다.

 1) 먼저 5개의 성적을 사용자로부터 입력을 받아서,

 2) 해당 성적들로 평균을 계산해서 출력하고,

 3) 마지막으로 5개의 성적 중 평균 이상인 학생이 몇명인지 sorting하여 출력할 것이다.

 

 

#2. 코드 짜기와 설명:

반응형
1
2
3
4
5
6
7
8
9
10
11
12
recs=[]
for i in range(1,6):
  rec=int(input("성적을 입력하세요:"))
  recs.append(rec)
aver=sum(recs)/len(recs)
print("성적평균은 %d 입니다" %aver)
 
overaver=[]
for a in recs:
  if a>=aver:
    overaver.append(a)
print("%d점 이상인 학생은"%aver, len(overaver),"입니다")
cs

- 일단 resc라는 이름의 빈 리스트 객체를 만든다.

- 그리고 5번 반복하는 for 반복문을 만든다.

   (range숫자는 임의로 변경이 가능하다, 가령 심플하게 range(5)만 넣어도 5회 반복하는 for반복문이 된다. 또한, 5번이 아니라 맨 처음에 몇개의 성적을 받을 것인지 성적 개수를 input함수로 입력 받아서 range에 해당 값의 객체를 넣으면 사용자가 원하는 만큼의 성적들을 입력할 수도 있다)

 - 반복을 할 때마다 recs라는 리스트에 append함수를 통해 성적을 입력 받는다. 이 때, 입력받는 성적을 숫자형으로 변경한 rec라는 객체로 성적들을 추가한다.

 - 반복이 끝나고 나면 recs 리스트에는 입력한 성적들이 들어와 있을 것이다. 원한다면, print(recs)로 중간확인을 할 수 있다.

 - 들여쓰기를 하지 않은 상태에서 sum(recs)를 통해 리스트의 성적값들을 합한 합계를 구하고, len(recs)를 통해 리스트에 들어 있는 성적의 개수를 구한다. 이 둘을 나누면 바로 성적 평균이 된다. 해당 값을 aver라는 객체를 만들어 할당한다.

 

- 이제 overaver라는 이름의 빈 리스트 객체를 만든다.

- for 반복문으로 recs 리스트에 있는 값을 a라는 이름으로 하나씩 꺼내오면서 반복을 진행한다.

  반복하는 동안 실행할 if문은 들여쓰기로 표현하며, a라는 성적값이 aver라는 평균값이랑 비교해서 큰지를 확인한다.

  크다면, overaver라는 빈리스트에 a라는 성적값을 추가한다.

- 반복문이 완료되면 aver 평균값보다 큰 성적들이 overaver 리스트 안에 추가되어 있는 것을 확인할 수 있다. 

 

 

#3. 실행결과 (with Colaboratory)

아래는 google colaboratory 개발환경(IDE)을 통해 코딩하고 실행한 결과이다. 

실행 결과

 

#4. 함수 요약 정리하기

파이썬으로 성적평균을 계산하기 위한 코드에 사용된 함수들을 마지막으로 정리해 보았다.

 1) range: range는 단독으로 쓰이기보다 다른 함수들과 같이 사용해서 범위를 정해주는데 예를 들어 위의 코드처럼 for 문 안에서 in range(첫숫자, 마지막 숫자)로 범위를 정해서 첫숫자부터, 마지막 숫자 "전"까지의 숫자들을 반환해주기도 하고, list(range(1,6))  -> [1,2,3,4,5]  식으로 list와 함께 쓰이면서 list를 손쉽게 정의하는데에 도움을 주기도 한다.

 2) input: 객체 = input("사용자에게 입력 관련하여 안내할 내용 작성") -> input 함수 안에 사용자에게 입력 관련하여 안내할 내용을 작성하고 해당 내용을 객체에 담으면, 해당 코드를 실행시켰을 때 사용자가 입력한 값이 객체에 담긴다. 그러면 그 객체값을 활용하여 그 다음행에 추가로 다른 코드들을 작성할 수 있다. 단순히 print(객체)를 통해 객체 값을 프린트 할 수도 있고 "새로운객체=객체+1" 객체에 추가 계산을 하고 새로운 객체에 그 값을 다시 할당할 수도 있다.

 3) for 반복문:

      for 반복 조건:

           조건을 부합하는 동안 반복 실행할 결과 

 4) if 조건문:

       if 조건 :

           조건을 부합할 경우 실행할 결과

 5) append: 리스트객체.append(추가할원소) -> 리스트에 원소를 추가할 때 사용한다.

 6) len: len(객체) -> 객체의 개수를 세어준다. 객체는 문자열, 리스트, 튜플, 데이터프레임 등이 될 수 있다.

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

댓글