[Python] 제어문

박현희·2020년 8월 26일
0

Python

목록 보기
3/8

조건에 따라 코드의 특벙 부분만 수행하거나 반복할 수 있는데 이처럼 코드의 진행 순서를 바꾸는 구문을 제어문이라고 합니다.
제어문에는 조건을 검사해 분기하는 구문인 조건문과 어떤 구간이나 조건을 만족하는 동안 코드의 일부분을 반복하는 구문인 반복문이 있습니다. 제어문을 이용하면 상황에 따라 다르게 코드를 실행할 수 있어서 프로그램이 지능이 있는 기기처럼 동작하게 만들 수 있습니다.

조건에 따라 분기하는 if문

조건에 따라 코드를 다르게 실행하려면 if문을 이용합니다.

단일 조건에 따른 분기(if)

if문에는 몇 가지 구조가 있는데 단일 조건에 따라서 분기하는 가장 기본적인 if문의 구조는 다음과 같습니다.

if<조건문>:
   <코드블록>

위의 if 문에서 <조건문>을 만족하면 그 아래의 <코드블록>을 수행하고, 만족하지 않으면 수행하지 않습니다. 여기서 <조건문> 다음에는 콜론(:)을 입력합니다. 다음 줄에서 <코드블록>을 입력할 때 키보드의 탭이나 공백을 이용해 들여쓰기합니다.

다음 예시는 if 문을 이용해 변수 x의 값이 90보다 크거나 같으면 "pass"를 출력하는 코드입니다.

x = 90

if x >= 90:
   print("pass")

단일 조건 및 그 외 조건에 따른 분기(if ~ else)

만약 if문에서 <조건문>의 만적 여부에 따라 코드를 다르게 수행하려면 다음과 같이 if ~ else 구조의 조건문을 이용합니다.

if<조건문>:
   <코드블록1>
else:
   <코드블록2>

위에서 <조건문>을 만족하면 <코드블록1>을 실행하고, 만족하지 않으면 <코드블록2>를 수행합니다.

다음 코드는 "if ~ else" 문의 구조를 이용한 조건문의 예시입니다.
변수 x의 데이터가 90보다 크거나 같으면 "pass"를 출력하고 90보다 작으면 "fail"을 출력합니다.

x=75

if x>=90:
   print("pass")
else:
   print("fail")

out:fail

여러 조건에 따른 분기(if~elif~else)

if~else 구조의 조건문보다 많은 조건에 따르는 코드를 만들기 위해선 "if~elif~else" 조건문을 이용합니다. 여기서 elif는 필요에 따라 여러 개를 사용할 수도 있습니다.

if<조건문 1>:
   <코드블록 1>
 elif <조건문 2>:
    <코드블록 2>
    .
    .
    .
 elif <조건문 n>:
    <코드블록 n>
 else:
    <코드블록 m>
    

순서대로 검사하면서 조건에 맞는 코드블록을 수행합니다.마지막 조건문까지 만족하지 않으면 else: 의 코드를 수행합니다. 여기서 else: 이후는 생략 가능하고 if~elif 만 이용할 수도 있습니다.

중첩 조건에 따른 분기

앞의 조건문의 <코드블록>에는 또 다른 조건문을 포함할 수 있습니다. 이처럼 조건문 안에 또 다른 조건문을 사용한 구조를 중첩 조건문이라고 합니다.

 if<조건문 1>:
    if<조건문 1-1>:
       <코드블록 1-1>
    else:
       <코드블록 1-2>
 elif <조건문 2>:
    <코드블록 2>
 else:
    <코드블록3>
  

아래 예시는 변수 x 가 "x >= 90"을 만족하는 가운데 x가 100이면 "perfect"를 출력하고, 그렇지 않으면 "very good"을 출력하는 조건문입니다.

x=100

if x >= 90:
  if x == 100:
     print("perfect")
  else:
     print("verygood")
elif (x>=80) and (x<90):
   print("good")
else:
   print("bad")

// out:perfect

0개의 댓글