본문 바로가기
IT 이것저것/파이썬python

파이썬Python if문 반복학습 / 줄여서 elif?!

by KaNonx카논 2017. 4. 23.
반응형

 

파이썬Python if문 반복학습 / 줄여서 elif?!

 

전에 배웠었던 if 제어문을 조금 더 반복해 볼까 합니다.

 

익숙해 질 때까지는 연습 또 연습이죠!!

 

if 제어문에서 중요한 것은 들여쓰기를 잘 해야한다는 점입니다.

 

제대로 된 들여쓰기가 되지 않으면 파이썬이 if 제어문으로 인식하지 못하고 에러를 출력하니까요

 

if 제어문 다음의 수식은 꼭 탭을 한 번 클릭하거나 스페이스 바를 네 번 치셔서 들여쓰기를 합시다!

 

아참, if 제어문 다음에 반드시 ' : '을 붙여주는 것도 잊지 마시구요!

 

 

grade = float(input(“총 평점: “))

 

if grade >= 4.3:
    print(“당신은 장학금 수여 대상자 입니다.”)
    print(“축하합니다.”)

 

print(“공부 열심히 하세요.”)

 

예문을 봅시다.

 

이번에는 평점이라는 소수를 입력받기 때문에 int 대신에 float라고 입력했습니다.

 

그런데 여기에는 else가 없네요??

 

if 제어문에서 if는 단독으로 쓰일 수 있지만 else는 그럴 수 없습니다.

 

그렇다면 이런 프로그램을 짠 후 총 평점이 if의 조건에 걸리지 않는다면 어떨까요?

 

 

물론 if 제어문에 걸리지 않는 print(“공부 열심히 하세요.”)만이 출력되게 됩니다.

 

성적도 망쳤는데 장학금 대상자가 아니라는 소리까지 들으면 서글프니까요.....................................

 

점수 = int(input("점수를 입혁하시오 : "))

if 점수 >= 95:
    print("수")
else:
    if 80 <= 점수 < 95:
        print("우")
    else:
        if 70 <= 점수 < 80:
            print("미")
        else:
            if 60 <= 점수 < 70:
                print("양")
            else:
                print("가")

 

if 제어문을 이용한 점수에 대한 등급을 매기는 프로그램입니다.

 

이렇게 한 번 다시 써 보니 별 것 아니지만, 처음에 할 때는 꽤 애먹었던 것으로 기억합니다...

 

점수가 95점 이상일 경우는 "수"를 출력하고

 

95점 미만, 80점 이상이면 "우"를 출력하고 ....... 모든 조건에 부합하지 않으면 "가"를 출력하는 형태지요

 

이럴경우, 들여쓰기가 계속 되어서 점점 코드가 오른쪽 산으로 가 버리게 되어 상당히 보기가 힘듭(?)니다.

 

이럴때 바로 elif를 씁니다!

 

점수 = int(input("점수를 입혁하시오 : "))

if 점수 >= 95:
    print("수")
elif 80 <= 점수 < 95:
    print("우")
elif 70 <= 점수 < 80:
    print("미")
elif 60 <= 점수 < 70:
    print("양")
else:
    print("가")

 

위의 if 조건문과 완전히 동일한 내용의 elif를 사용한 조건문입니다.

 

간단하게 else와 아래에 올 if를 합치는 것이라고 생각하면 편하겠네요

 

위와 아래 중 단연코 아래의 제어문이 읽기도 편하고 한 눈에 들어 온다고 말할 수 있겠네요

 

반복되는 들여쓰기에 대한 실수도 줄일 수 있구요 ㅎㅎㅎ

 

 

 

 

 

-

반응형

댓글