Q. 900,000명의 등급을
점수 기준에 따라 다르게 주세요.
만약 이런 조건이 주어진다면 단순 작업인데 너무 너무 너~~~~~~~~무 힘들것입니다.
이런 단순 작업을 파이썬 언어를 통해 해결하고자 한다면 어떻게 할까요?
예를 들어, 학생이 20명 있고, 이 학생들을 점수에 따라 등급을 분류하는 프로그램을 짜야한다고 생각해봅시다.
지금 당장은 학생이 20명이면 금방 점수를 기준으로 등급을 메길 수 있을겁니다.
그런데 만약 학생이 8000명 , 900,000 이상으로 늘어난다면?
이런 불편함이 컴퓨터 프로그래밍 언어가 발전하게 된 이유입니다.
파이썬 언어로는 if(조건문) 와 def(함수)의 활용하여 해결이 가능합니다.
우선 if / elif / else 이렇게 구성되긴 하지만, 저는 if + else 문을 먼저 보고 ! 그 이후 elif 문을 보는 것으로 진행해보겠습니다. (어차피 조건이 추가되면 그 부분을 추가해주면 되는 것이라서 간단하게 볼 수 있습니다! )
1. if문
if문의 경우도 조건부분과 실행 부분을 나눠서 정해줄 수 있습니다.
if 부분과 else 부분을 나누어 조건을 만족할 시 그 부분을 실행 시키고, 불만족할 시 아래 부분을 실행시키는 방식 입니다.
예시) if 문을 활용해 단순 제품추천 식을 짜본다고 생각해봅시다.
총점 80점이 넘는다면 이 제품을 추천하고,
못 넘는다면 추천하지 않는 프로그램'
if문(조건문)
recommand_score = 90 #내가 받은 점수
if recommand_score >= 80:
print("이 제품을 추천한다.")
else:
print("제품을 추천하지 않는다.")
지금 추천 점수는 90점 이므로, if문의 실행 부분이 작동하여 '이 제품을 추천한다.'가 print 된 것을 확인할 수 있습니다. 그렇다면 만약 80점 미만이면 어떻게 작동할까요? 당연히 밑의 그림처럼 else 문이 실행됩니다.
2. elif문
단순 if문의 경우 하나의 조건을 만족하는 식을 만들고 실행할 수 있었습니다.
그렇다면 조건이 중간에 하나가 더 있다면 ??!?
if문을 계속해서 써야할까요? 아닙니다! 이럴 경우 쓰는 것이 elif문입니다. else + if로 이해하시면 이해하기 편할 것 같습니다. 그렇다면 추천 점수를 기준으로
'80점 이상은 강력 추천 !
60 이상은 추천 !
40 이상은 보통 !
나머지는 추천 안함!'
을 출력해주는 프로그램
추천해보는 파이썬 식을 짜보겠습니다. 아까 식에서 조금만 변화시키면 가능합니다.
# elif 반복문(if문)
recommand_score = 60 #추천하는 점수
if recommand_score >= 80:
print("강력 추천합니다")
elif 80 > recommand_score >= 60 :
print("추천합니다")
elif 60 > recommand_score >= 40 :
print("보통입니다")
else :
print("추천하지 않습니다")
if 부분과 else 부분은 우리가 위에서 확인을 했으니깐, elif 부분을 중심으로 공부해보시면 됩니다.
어려운 것 전혀 없이 if문과 같은 들여쓰기에서 바로 작성해줍니다!
60점을 기준으로 실행한 값입니다.
3. def 파이썬 함수 활용
위의 예시에선 우리가 점수를 지정해 주었는데, 이것을 점수가 들어가면 알아서 분류 및 추천해주는 함수가 있다면 우리가 고생하는 것이 좀 줄어들겠죠?
이 인간의 수고로움을 덜어주기 위해 개발된 것이 프로그래밍 언어이기에 !!
def (함수)는 잘 사용하면 우리의 반복적인 작업을 줄여줍니다.
그러면 ! 아까 우리가 작성해놓은 조건문을 def(함수)를 지정해서 한번 확인해보도록 합시다.
# def 와 if를 결합!
def program (recommand_score):
if recommand_score >= 80:
print("강력 추천합니다")
elif 80 > recommand_score >= 60 :
print("추천합니다")
elif 60 > recommand_score >= 40 :
print("보통입니다")
else :
print("추천하지 않습니다")
'program' 이라는 함수를 지정하고 우리가 작성해놓은 if 조건문을 그 안에 들여쓰기 해서 넣습니다.
그리고, 원래 조건문 밖에서 지정해주던 점수 변수도 program 안에 들어가서 함수를 이용하는 누구라도 점수가 있다면 추천 프로그램이 출력되게 만들어 줍니다.
즉, 함수를 이용하여 우리가 지정한 점수가 아니라, 이 프로그램을 이용하는 사람의 상황에 맞게 만듦으로써 우리수고로움이 줄어들었죠 !
그리고 밑에 함수를 이용하는 값을 입력해봅니다.
# def 공부 및 확인
def program (recommand_score):
if recommand_score >= 80:
print("강력 추천합니다")
elif 80 > recommand_score >= 60 :
print("추천합니다")
elif 60 > recommand_score >= 40 :
print("보통입니다")
else :
print("추천하지 않습니다")
#def (함수) 실행 테스트
program(50)
print('--------------------')
program(99)
print('--------------------')
program(20)
결과 값을 보니 제대로 작동하는 것을 볼 수 있습니다 !!
이렇게 if / elif 조건문 과 def를 활용하여 우리가 만든 점수 기반 제품 추천 프로그램도 만들어 봤습니다.
4. 파이썬 학점 계산기 간단한 프로그램 만들어보기
def grade_program(mid_score, last_score):
total = mid_score + last_score
if total >= 85 :
print("당신의 학점은 A입니다.")
elif 85> total >= 65:
print("당신의 학점은 B입니다.")
elif 65> total >= 35:
print("당신의 학점은 C입니다.")
elif 35> total >= 15:
print("당신의 학점은 D입니다.")
else :
print("당신의 학점은 F입니다.")
# 예시를 통한 프로그램 확인
grade_program(50, 45)
grade_program(40, 30)
grade_program(15, 32)
grade_program(5, 5)
이건 간단한 점수 기반 학점 출력 프로그램입니다.
우리가 배운 내용을 토대로 똑같이 활용하고 점수와 출력 문장을 변경해주었고, 크게 다른 점은 total이라는 변수를 지정해주어 def 안에 중간 점수와 기말 점수를 더해주고 그 값을 저장해줬습니다.
이것 또한 좋은 예제가 될 수 있겠네요 ! if 문과 def를 공부하신다면 이 두가지 예시를 통해서 연습해보시면 되겠습니다.
저의 티끌 코딩 글이 블로그 방문자 님의 코딩에 조금이라도 도움이 됐으면 좋겠습니다 !
글 하단 '좋아요(♡)' 마우스 클릭 한번과 댓글은 글 작성자에게 너무 큰 힘이 됩니다. 감사합니다.
'Programming Language > Python( 파이썬 )' 카테고리의 다른 글
파이썬 int, float, str에 대한 이해와 형변환.( 숫자형 / 문자형) (0) | 2021.06.10 |
---|---|
파이썬 기본 연산 [ 버림, 몫 구하기, 나머지, 제곱 , 파이썬 %, 파이썬 //] (0) | 2021.06.10 |
Q. 100 이하의 짝수를 모두 출력하시오 ( 파이썬 while 반복문 / while 파이썬 ) (0) | 2021.06.07 |
[파이썬 기초] a의 배수 이지만, b의 배수가 아닌 것 구하기 (파이썬 배수 문제, 파이썬 %, 파이썬 !=) (0) | 2021.02.04 |
파이썬 단어 짝수 홀수 반복 출력 (Python repeat) (0) | 2021.01.21 |