본문 바로가기

엑셀/With Python

파이썬 반복문과 조건문에 대해 알아보기

반응형

이전 글에서 파이썬의 자료형에 대해 알아보았습니다. 이번에는 제어문에 대해 알아보겠습니다. 제어문에는 조건문과 반복문이 있습니다. 이에 대해 알아보고 예제를 통해 확인해 보겠습니다.

 

1. 조건문

 주어진 조건에 따라 코드를 수행 유무를 판단하게 됩니다. 코드는 입력된 순서대로 진행하게 되는데 조건문을 만나게 되면 주어진 조건을 충족하면 조건문이 실행되지만, 조건을 충족하지 못하면 조건문은 실행되지 않고 다음 코드로 진행이 됩니다.

 

 

 

 

 1.1 if문

   if문은 대표적인 조건문으로 다음과 같이 사용합니다.

 

      if 조건 :

          조건문

 

  주어진 조건이 참(True)이면 조건문을 수행하게 되며 조건이 거짓(False)이면 조건문을 수행하지 않습니다.

 만약, else를 추가하면 조건이 거짓(False) 일 때 조건문을 추가할 수 있으며 사용방법은 다음과 같습니다.

 

      if 조건 :

          조건문 1

      else

          조건문 2

 

조건이 참(True)이면 조건문 1을 수행하고, 조건이 거짓(False)이면 조건문 2를 수행합니다.

 

조건을 여러 개 줄 수 있는데 이럴 경우는 elif를 사용하며 사용방법은 다음과 같습니다.

 

      if 조건 1 :

          조건문 1

      elif 조건 2 :

          조건문 2

             :

             :

      elif 조건 n-1 :

          조건문 n-1

      else

          조건문 n

 

elif를 사용하여 조건을 주었으며 조건에 만족할 경우 해당하는 조건문이 실행됩니다. 그리고, 주어진 조건 모두 만족하지 않으면 조건문 n이 실행됩니다.

 

 

 

 

2. 반복문

 반복문은 주어진 조건을 만족하는 동안 반복문을 반복 실행하게 됩니다. 대표적으로 for문과 while문이 있습니다.

 

 2.1 for문

  for문은 다음과 같이 사용합니다.

 

      for 변수 in 범위 :

            반복문

 

  주어진 변수에 범위 내의 값을 차례대로 입력하며 반복문을 실행하게 되며 변수범위를 벗어나는 값이 되면 반복문은 실행되지 않고 다음 코드로 넘어갑니다.

 

 2.2 while문

  while문은 다음과 같이 사용합니다.

 

      while 조건 :

            반복문

 

  주어진 조건이 참(True)이면 반복문을 거짓이 될 때까지 반복 수행하게 되며 조건이 거짓(False)이 되면 반복문을 수행하지 않고 다음 코드로 넘어갑니다.

 

 2.3 break와 continue

  반복문은 조건을 만족하는 동안 반복해서 실행하게 되는데 break를 만나게 되면 반복문을 더 이상 실행하지 않고 빠져나오게 됩니다. 또한 continue는 이후의 반복문을 실행하지 않고 다음 문장을 이어서 실행하게 됩니다.

 

 

 

 

3. 예제를 통해 확인

 if 반복문에 대해 예제를 통해 확인해 보겠습니다.

아나콘다의 주피터 노트북을 실행하고 New-Python3를 클릭합니다. 그리고, 다음 코드를 코드 창에 입력합니다.

 

   a = 83

   if a >= 90:
      print("성적 : 수")
   elif 80 <= a < 90:
       print("성적 : 우")
   elif 70 <= a < 80:
       print("성적 : 미")
   elif 60 <= a < 70:
       print("성적 : 양")
   else:
      print("성적 : 가")

 

변수 a에 83을 입력하고 a의 값이 90이상이면 성적 : 수를 화면에 출력하고, 80 이상이고 90 미만이면 성적 : 우를, 70이상 80 미만이면 성적 : 미를, 60이상 70 미만이면 성적 : 양을, 그리고 60미만이면 성적 : 가를 출력하도록 하는 코드입니다.

 

다음은 for문에 대해 알아보겠습니다.

 

   num = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
   hap = 0

   for x in num:
       hap = hap + x
   print(hap)

 

1부터 10까지 합계를 구하는 코드입니다. num이라는 리스트를 만들고 거기에 1 ~ 10까지의 값을 주었습니다. 그리고, 합계를 계산하기 위해 변수 hap를 생성하고 초기값으로 0을 주었습니다.

 

for x in num:는 for문으로 num리스트의 값을 1부터 차례대로 변수 x에 입력합니다. 그리고, hap = hap + x를 수행하여 합계를 구하게 됩니다. 처음에 for문을 만나면 x에는 1이 입력되고 hap은 0이므로 0+1의 결과인 1인 변수 hap에 입력됩니다. 그리고, 두 번째 반복 때 x에는 2가 입력되고 hap과 더해지면 1+2의 결과인 3이 변수 hap에 입력됩니다. 이런 방식으로 반복 수행되다가 x에 10이 입력되고 hap의 값과 더해져 hap에 입력되면 리스트의 모든 값을 변수 x에 입력하여 반복 실행하였으므로 반복문을 벗어나게 됩니다.

 

print(hap) 명령으로 변수 hap에 있는 값을 화면에 출력하게 되며, 실행 결과는 55가 나옵니다.

 

 

 

 

다음 코드를 작성하고 실행하여 while문에 대해 알아보겠습니다.

 

   num = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
   hap = 0


   for x in num:    
       while hap <= 20: 
           hap = hap + x
    
   print(hap)

 

if문 예제와 거의 동일한데 while문을 넣어서 변수 hap이 20보다 작거나 같으때까지 반복해서 합계를 내도록 하는 코드입니다. 이 코드를 실행하면 21이라는 값을 얻게 됩니다.

 

while문의 예제와 동일한 결과를 break를 써서 코딩하면 다음과 같이 할 수 있습니다.

 

   num = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
   hap = 0

   for x in num:
       hap = hap + x
       if hap > 20:
           break
   print(hap)

 

while문 대신에 if문을 써서 hap의 값이 20보다 크면 break 명령어로 인해 for문을 빠져나오게 됩니다.

실행결과는 동일하게 21을 출력합니다.

반응형

<--! 네이버 애널리틱스 시작작--> <--! 네이버 애널리틱스 끝끝-->