파이썬/파이썬 입문 공부일지

파이썬 공부일지 11. if 조건문 예제와 else, elif 활용!

Tomitom 2022. 10. 12. 12:17
반응형

if 조건문의 예제를 먼저 보겠습니다. 

if 조건문으로 날짜와 시간을 출력해서 결혼식 날짜를 예약해볼게요. 

 

후에 배울 모듈이라는 기능을 활용해서 datetime 이라는 기능을 먼저 가져와야 합니다. (이것은 후에 배워요!)

그런 다음 datetime.datetime.now() 함수를 사용해서 현재의 시간을 구하고 now 라는 변수에 대입해줄게요. 

저는 딱히 외우려고 하지 않고 그냥 쓰면서 익숙해지려구요! 


import datetime
now = datetime.datetime.now()

 

이제 예약할 수 있는 날짜를 입력해봅니다. 

 

print("결혼식은 언제일까.")
year = int(input("몇 년에 하나: "))
month = int(input("몇 월에 하지: "))

 

이제 사용자가 각각 입력한 년도와 월에 따라 값이 저장이 저장이 되었죠. 

input 값을 >=, == 와 같은 비교식을 사용해야하기 때문에 실수로 바꾸어주었습니다.

그럼 이제 출력값을 저장해볼게요. 

 

if 2022 > year: 
    print("{} 년은 이미 지났어.".format(year))
if 2022 == year:
    print("올해?")
if 2022 < year:
    print("{}년도로 예약할게.".format(year))
if 0 == month:
    print("제대로 입력하기.")

까지는 년도를 저장했어요. 비교등호가 있기 때문에 확인할 수 있을 거예요.

if 구문을 여러개 쓰니 매우 지저분하군요... 

그 다음에 월별로 어떤 계절인지를 출력할게요. 

 

if month == 12 or 1 <= month <= 2:    (겨울은 12월에서 2월까지니까요!)  
    print("겨울이네.")

if 3 <= month <= 5:
    print("봄이네.")

if 6 <= month <= 8:
    print("여름이네.")

if 9 <= month <= 11: 
    print("가을이네.")

 

 

계절 확인하는 중

 

 

 

 

그럼 이제 예약을 확정해볼게요. 

 

if 2022 <= year:
    print("{}년 {}월로 예약. {}년 {}월 {}일 완료.".format(
        year, 
        month, 
        now.year,
        now.month,
        now.day ))

 

 

 

if구문과 format 함수를 같이 써봤어요.

그럼 값이 어떻게 나오는지 확인해볼게요. 

 

 

따란.... 2025년이 되어버렸군용

 

이렇게 if 구문으로 입력을 해보았는데, if 조건문이 반복되니 코드가 길어지고 깔끔하지가 않아요. 

그래서 좀 더 효율적으로 쓸 수 있는 else와 elif를 같이 배워볼게요!

(왜진작 그걸로안했지..) 

 

 

else 구문

 

참이거나 거짓일 경우에 사용하는 조건문이 있습니다.

else 구문은 if 조건문 뒤에 사용하며, if 조건문이 거짓일 때 실행됩니다. 

else 는 if 문에 종속되는 구문입니다. else 가 혼자 있으면 아무것도 실행되지 않습니다.

 

if 조건표현식 : 

    print("참이면 실행된다.") 

else : 

    print("거짓이면 실행된다.")

 

예를 들면 다음과 같이 실행됩니다.

 

>>> number = 3

>>> if number % 2 == 0 : 

             print("짝수 입니다.")

       else : 

            print("홀수 입니다."

 

조건문을 중복으로 쓰지 않아도 참 혹은 거짓의 자료를 활용할 때 훨씬 수월하겠죠. 

 

프로그램의 성능이 좋다는 것은 두 가지예요. 

1. 속도가 빠르다 = 계산 횟수가 적다. 

2. 메모리를 적게 차지한다 = 불필요한 자료를 안쓴다.

 

조건문을 여러번 쓰지 않으니 조금 더 빠르게 계산할 수 있어요. 

 

 

elif 구문 

조건식에서 두 가지만으로 구분되지 않는 것도 있어요. 

조건을 여러 개 연결해서 사용할 수 있는 elif 구문이 있습니다. 

앞 선 첫 번째 조건이 아니라면 다른 조건문에서 새롭게 시작하는 거예요.

elif 구문은 if 조건문과 else 구문 사이에 입력합니다. 

 

if 조건 A: 

    조건 A가 정말 참일 때 실행할 문장

elif 조건 B

    조건 B가 정말 참일 때 실행할 문장

elif 조건 C

    조건 C가 정말 참일 때 실행할 문장

elif 조건 D

    조건 D가 정말 참일 때 실행할 문장

...

else :

    모든 조건이 거짓일 때 실행할 문장

 

그럼 이제 앞서 했던 if 조건문의 예제 중 계절을 가져오는 것을 조금 더 편하고 가볍게 쓸 수 있어요. 

 

import datetime     
now = datetime.datetime.now()
month = now.month

if 3 <= month <= 5:
    print("현재는 봄입니다.")
elif 6 <= month <= 8:
    print("현재는 여름입니다.")
elif 9 <= month <= 11:
    print("현재는 가을입니다.")
else :
    print("현재는 겨울입니다.")

 

 

^^.. 이렇게 간단한 것을..

 

짠... 이런 식으로 보다 간단하고 효율적으로 코딩을 할 수 있습니다. 

직접 작성하기 시작하니까 이제 진짜 재밌어졌어요!

반응형