본문 바로가기
컴퓨터 프로그래밍/python

python 조건문(Conditional)

by JaeBaek 2020. 8. 11.

Conditional ( Wikimedia )

 

■ if 문

if문의 기본구조

if 조건:

    명령

if 문은 조건 뒤에 콜론을 찍어줘야 합니다. 말 그대로 어떠한 조건에 참에 해당하는 경우에 명령을 수행하는 것을 말을 하는 것입니다.

 

if

age=int(input("몇 살이 십니까?"))

if age<19:

    print("청소년 입장 불가입니다.")

result

몇 살이 십니까? 18
청소년 입장 불가입니다.

 

★ 비교 연산자

앞에서 보았듯이 if 문의 조건에 해당하는 부분에는 변수값을 비교하는 문장이 오고 이 비교하는 방법은 다양합니다. 비교 연산자는 다음과 같습니다.

'

연산자 설명
== 같다.
!= 다르다.
<  좌변이 우변보다 작다.
> 우변이 좌변보다 작다.
<=
좌변이 우변보다 작거나 같다.
>= 우변이 좌변보다 작거나 같다.

 

다음과 같이 비교 연산자의 결과에 해당하는 값에 다라 True or False 를 리턴합니다.

 

 

★ 논리 연산자

두 가지 이상의 조건을 한꺼번에 점검할 때에 사용하는 연산자입니다.

논리 연산자 설명
and 두 조건이 모두 참이다.
or 둘 중 하나라도 참이다.
not 조건을 반대로 한다.

 

★ example

and

if a==1 and b==2:

    print("right")

# a=1, b=2인 경우 right 출력

 

or

if a==1 or b==2:

    print("right")

# a=1과 b=2 둘 중 하나라고 해당하면 right 출력

 

■ 블록 구조

 if 문 구조에서 명령이 여러 문장일 때는 어떻게 될까요? 이 경우에는 if 조건이 참일 경우 바로 뒤의 한 문장과 나머지 문장이 출력이 됩니다. 반대로 거짓일 경우에는 첫문장을 제외한 문장이 출력이 되겠죠. 그러면 조건이 참일 경우 우리가 원하는 만큼의 명령을 실행하는 방법은 어떻게 할까요? 그런 경우에는 우리가 원하는 문장을 블록으로 묶어야 합니다. 

if (조건):

    명령1

    명령2

명령3

명령4 

 다음과 같이 들여쓰기를 사용하여 원하는 만큼의 블록을 묶으면 조건이 참일 경우 실행을 합니다. 위와 같은 경우 참인 경우에 명령1, 명령2도 실행 되는 것을 볼 수 있습니다. c나 java의 경우에는 중괄호 { } 를 사용하였지만 python은 들여쓰기를 통해서 코드의 구조를 인식하기 때문에 코드 작성시 엉뚱하게 결과가 실행되는 것을 볼 수 있습니다. 따라서 들여쓰기를 잘 맞추는 연습을 하시면 좋을 것 같습니다. 참고로 tab은 4번의 공백과 같습니다.

 

■ else 문

지금까지 봐온 if문은 블록 뒤의 문장이 있을 경우 참이든 거짓이든 모두 블록 뒤의 명령을 실행합니다. 하지만 참인 경우에는 실행하지 않는 명령을 원한다면 어떻게 해야 할까요? 그럴 경우에는 if문 뒤에 else를 추가하여 만들 수 있습니다. 기본적인 구조는 다음과 같습니다.

if 조건:

    명령1

else:

    명령2

 

if else

age=int(input("몇 살이 십니까?"))

if age<20:

    print("청소년은 입장 불가입니다.")

 

else:

    print("어서오세요.")

    print("즐거운 시간 되세요.")

result

몇 살이 십니까? 21
어서오세요.
즐거운 시간 되세요.

 

■ elif 문

위의 if else문을 보면 조건이 하나인 경우가 있습니다. 하지만 추가적인 조건을 달고 싶을 경우 elif 문을 사용합니다. 기본적인 구조로는 다음과 같습니다. 

if 조건1:

    명령1

elif 조건2:

    명령2

else:

    명령3

 

다음과 같은 elif문은 else문에서 새로운 if문으로 추가 하여 동일한 결과를 나오도록 할 수 있습니다.

if 조건1:

    명령1

else:

    if 조건2:

        명령2

    else:

        명령3

이런식으로 동일한 결과를 나타내지만 elif는 코드 관리도 쉽고, 실수 가능성도 적어서 이 방법을 좀 더 지향하면 좋을 것 같습니다. 하지만 else if문을 사용하는 방법과 각각을 중첩하여 실제로 적용할 수 있는 방법은 무궁무진하기 때문에 모든 기능을 잘 다룰 수 있도록 연습해야 합니다.

 

'컴퓨터 프로그래밍 > python' 카테고리의 다른 글

python 산술(Arithmetic)  (0) 2020.08.12
Python 함수(function)  (0) 2020.08.11
Python 반복문(Loop)  (0) 2020.08.11
python 변수(variable)  (0) 2020.08.11
python start  (0) 2020.08.11

댓글