이 포스팅을 보면 함수만드는 시험에서 A+ 확정!
무거운 노트북은 집에 놓고가세요.
도서관 컴퓨터로도 코딩 할 수 있어요!
Google Colab을 사용하면 편하더군요 ㅎㅎ
오늘의 주제
총점, 평균, 학점 계산하기
세부설명
다음의 코드를 Total, Avg, Grade라는 함수로 만들어서 재코딩 해보자.
함수만드는 조건
1. Total() : 합계를 계산
2. Avg() : 평균을 계산
3. grade() : 학점을 계산
4. 매개변수의 개수는 상관 없음
5. return 사용
다음의 코드는 바로 이것!
kor = int(input('국어 점수를 입력하세요 : '))
mat = int(input('수학 점수를 입력하세요 : '))
eng = int(input('영어 점수를 입력하세요 : '))
sci = int(input('과학 점수를 입력하세요 : '))
total = kor + mat + eng + sci
avg = total / 4
if avg >=90:
grade ='A'
elif avg>=80:
grade ='B'
elif avg>=70:
grade ='C'
elif avg>=60:
grade ='D'
else:
grade ='F'
print('총점 : %d' %total)
print('평균 : %.1f' %avg)
print('학점 : %s' %grade)
과제의 핵심
1단계. 합계와 평균, 학점을 계산할 줄 아는가? 수학적 지식에 대한 평가.
2단계. 파이썬으로 구현할줄 아는가? 수학적 지식의 코드화.
3단계. 함수의 형식으로 만들어서 활용할줄 아는가? 함수의 사용목적을 이해하고 있는지 평가.
주어진 코드를 살펴보면 1단계와 2단계는 이미 구현이 되어있음을 알 수 있습니다. total 이라는 변수에는 각 과목의 점수를 더한 값을 저장했습니다. avg에는 점수의 합을 4로 나누었으니 평균값이 저장됩니다. if문에서는 avg값에 따라 A부터 F까지 선택적으로 grade에 입력을 하도록 구현이 되어있습니다. 우리가 해야할 일은 이 코드를 함수라는 형식으로 만드는 것 뿐입니다.
함수는 리모콘의 버튼과도 같습니다. 에어컨 리모콘에서 전원버튼을 누르면 전원이 켜지고 온도를 내리는 버튼을 누르면 더 시원해집니다. 함수도 마찬가지입니다. 합을 구하는 함수를 실행하면 합을 구해주고, 평균을 구하는 함수를 실행하면 평균을 구해줍니다. 이렇게 원하는 타이밍에 원하는 기능만 불러와 사용하기 위해서는 리모콘버튼처럼 버튼만 누르면 실행할 수 있게 설계해야합니다. 이 리모콘을 만드는 과정이 함수를 만드는 과정이라고 할 수 있습니다. 그리고 리모콘의 버튼을 누르는 것이 함수를 실행시키는 것입니다.
위에서 주어진 코드를 사용해도 합, 평균, 평점을 구하는 기능은 수행하고 있습니다. 다만, 이 코드 안에 있는 모든 문장이 실행되어버립니다. 한편, 함수로 만들면 함수 안에 있는 내용은 코드를 실행해도 실행이 되지 않습니다. 원하는 곳에서 원하는 함수를 실행하는 코드가 있어야 실행이 됩니다.
함수를 만들고, 불러오는 방법은 아래와 같습니다.
함수 만들기
def 함수이름(계산에 필요한 정보들):
계산식
return 결과값
함수 불러오기
print( 함수이름(계산에 필요한 정보들) )
-> 실행하면 print문이 return값을 출력해줌
그러면 과제를 해결해봅시다!
완성된 코드
def Total(kor,mat,eng,sci):
total = kor + mat + eng + sci
return total
def Avg(total):
avg = total / 4
return avg
def grade(avg):
if avg >= 90:
grade = 'A'
elif avg >= 80:
grade = 'B'
elif avg >= 70:
grade = 'C'
elif avg >= 60:
grade = 'D'
else:
grade = 'F'
return grade
kor = int(input('국어 점수를 입력하세요 : '))
mat = int(input('수학 점수를 입력하세요 : '))
eng = int(input('영어 점수를 입력하세요 : '))
sci = int(input('과학 점수를 입력하세요 : '))
total = Total(kor,mat,eng,sci)
avg = Avg(total)
print('총점 : %d' %total)
print('평균 : %.1f' %avg)
print('학점 : %s' %grade(avg))
def 로 시작하는 코드 그룹은 리모콘 버튼만 만들어두는 작업을 합니다.
Total(kor, mat, eng, sci) 이라는 코드에서 비로소 Total() 함수를 실행하게 되고, 결과값을 total에 저장합니다.
Avg(total) 이라는 코드에서 앞에서 계산한 점수의 합을 이용하여 Avg() 함수를 실행시켜 결과값을 avg에 저장합니다.
마지막줄에 grade(avg)라는 코드에서 grade()함수가 실행이 되며 avg에 들어있는 값에 따라 학점을 return 해줍니다.
실행 결과
'파이썬 지식인' 카테고리의 다른 글
[파이썬 과제] 영화제목별 별점의 평균을 계산해서 csv로 저장하기 (0) | 2022.10.27 |
---|---|
[파이썬 과제] 두 점 사이의 각도 구하기 atan2() (0) | 2022.10.27 |
누구나 알 수 있게 너 빼고 나를 가질 수 있는 비밀번호 486 (0) | 2022.10.07 |
딱 세 가지 방법만 알려줄게! 각 자리수의 합 구하기 (0) | 2022.10.07 |