본문 바로가기

데이터 교육/파이썬

[파이썬] 제어문: if 조건문

[ 조건문 if ]

01. 구조

 if 조건문: 주어진 조건이 true(참)일 경우에만 명령을 선택적으로 실행하고 싶을 때 사용.

if 조건1:
    조건1이 참 일때의 실행문
elif 조건2:
    조건2가 참 일때의 실행문
else:
    실행문

cf. : 아래줄 반드시 들여쓰기를 해야한다. (빈칸 2개, 혹은 4개)

 

 

 


 

02. 예시: 윤년 계산 조건 알아보기

 

*윤년에 해당하는 조건 알아보기

1) 연도가 4로 나누어 떨어지면 윤년이다. (ex. 2008, 2012, 2016, 2020,,,)

2) 그 중에서(4로 나누어 떨어지는 연도 중) 100으로 나누어 떨어지면 평년이다. (ex. 2100년, 2200년, 2300년, 2500년,,,)

3) 그 중에서(4, 100으로 나누어 떨어지는 연도 중) 400으로 나누어 떨어지면 윤년이다. (ex. 1600년, 2000년, 2400년,,,)

 

 

*코드문으로 조건을 번역하기,

1) (연도) % 4 == 0인가? 아닌가?

2) 만약 1항이 네(Yes)라면, (연도) % 100 ==0인가? 아닌가?

3) 만약 2항이 네(Yes)라면, (연도) % 400 ==0인가? 아닌가?

 

 

* 윤년이 되는 2가지의 경우의 수

(연도) A조건.
% 4 == 0
B조건.
% 100 == 0
C조건.
% 400 == 0
결과
2019 No (3)     평년
2020 Yes (0) No (20)   윤년
2100 Yes (0) Yes (0) No (100) 평년
2400 Yes (0) Yes (0) Yes (0) 윤년

 

위 표를 보면 윤년이 되는 경우의 수는 2가지가 나온다

[1] A조건'만' 만족하거나

[2] A,B,C 세 조건 '모두' 만족하거나

 

 


 

 

03. IF 함수를 활용하여 윤년 코드문 작성하기

 

*IF함수 - 기본코드

코드셀 해석
year = input('연도를 입력해 주세요.') year에 '연도를 입력해 주세요' 구문을 대입
year = int(year) year 코드를 숫자화
if year % 4 == 0: 만약, 입력한 year를 4로 나누었을 때 나머지가 0이면:
    print('윤년입니다.')     '윤년입니다.'를 출력                   → TRUE
else: 그렇지 않으면(4로 나누었을 때 나머지가 0이 아니면):
    print('평년입니다.')     '평년입니다.'를 출력                    → FALSE  

 

 

 

2023을 넣어보면

 

 

이제 모든 3조건을 모두 적용시켜보자

 

year = input('연도를 입력해 주세요.')

year = int(year)

if year % 4 == 0:

    if year % 100 == 0:

        if year % 400 == 0:

            print('윤년입니다.')

        else:

            print('평년입니다.')

    else:

        print('윤년입니다.')

else:

    print('평년입니다.')

 

 

 

 

 

* != 기호 활용

==의  true값, false값과 정반대로 평가하는 기호이다.

 

if year % 4 == 0:    year를 4로 나누었을 때 나머지가 0이면 다음 블록 진행

if year % 4 != 0:     year를 4로 나누었을 때 나머지가 0이 아니면 다음 블록 진행

 

 

...

if year % 4 != 0:

    print('평년입니다.')

else:

    if year % 100 != 0:

        print('윤년입니다.')

    else:

        if year % 400 != 0:

            print('평년입니다.')

        else:

            print('윤년입니다.')

 

코드가 사이에 껴있지 않아서 거슬러 올라가지 않고 해석하기에 용이하다

 

 

 

*ELIF함수

: else와 if 함수를 합친 함수이다

 

 

year = input('연도를 입력해 주세요.')

year = int(year)

if year % 4 != 0:

    print('평년입니다.')

elif year % 100 != 0:

    print('윤년입니다.')

elif year % 400 != 0:

    print('평년입니다.')

else:

    print('윤년입니다.')

 

 

블록을 3단계, 즉 12칸까지 들여쓰기하던 것에서 1단계 들여쓰기로 간소화했다.

 

 


출처: 패스트 캠퍼스 - 한 번에 끝내는 데이터 분석 초격차 패키지 Online: Python, 작심삼일 파이썬