Study/Python

[Python] 제어문

taecongs 2023. 9. 12. 11:07

Python 공부하기 ✨
테스트 코드 실행 : Python Tutor


파이썬에서 제어문이란?

  • 프로그래밍 언어에서 실행순서를 변경시키거나 또는 조건에 따라 실행해야 할 명령문을 제어하는데에 사용된다.
  • 일반적으로 프로그램은 위에서 아래로 순차적으로 실행되지만, 어떤 조건에 대해서만 실행해야 하는 경우나 특정 부분을 반복하여 실행해야 하는 경우 등이 있다.
  • 파이썬에서는 if, for, while 문을 사용하여 흐름을 제어할 수 있다.

 

(1) if 문
  • 프로그래밍에서 조건을 판단하여 해당 조건에 맞는 상황을 수행하는 데 쓰이고 있다.
// (1) if 문의 기본 구조
if 조건문:
    수행할_문장1
    ...
else:
    수행할_문장A
    ...
    

// (2-1) if 문 예제
money = 2000
if money >= 3000:
    print("택시를 타고 가라")
else:
    print("걸어가라")
    
// (2-2) if 문 예제의 결과
걸어가라


// (3) elif 문 기본 구조
if 조건문1:
   수행할 문장1
elif 조건문2:
   조건문1이 False 인 경우 실행되는 문장
else:
   조건문1, 조건문2 모두 False 인 경우 실행되는 문장
   
   
// (4-1) elif 문 예제
pocket = ['paper', 'cellphone']
card = True
if 'money' in pocket:
     print("택시를 타고가라")
elif card: 
     print("택시를 타고가라")
else:
     print("걸어가라")

// (4-2) elif 예제 결과
택시를 타고가라

 

(2) while 문
  • 특정작업을 반복하여 실행해야 할 경우에 사용되며, 조건문이 참일 경우 반복을 계속한다.
// (1) while 문의 기본 구조
while 조건:
    수행할_문장1
    ...
    
    
// (2-1) while 문 예제
glass = 0
while glass < 10:   #10번 반복
    glass+=1
    print("한잔 마셨습니다.")
    if glass == 10:
        print("취했으니 집에 돌아가요.")
        
// (2-1) while 문 예제 결과
한잔 마셨습니다. x 10
취했으니 집에 돌아가요.
  • 조건문이 참인 경우 계속 while 문 안의 내용을 반복적으로 수행하는데 이때 강제로 while 문을 빠져나가고 싶다면 break 문을 사용하면 된다.
// (3-1) while 문 break 예제
coffee = 10
while True:
    money = int(input("돈을 넣어 주세요: "))
    if money == 300:
        print("커피를 줍니다.")
        coffee = coffee -1
    elif money > 300:
        print("거스름돈 %d를 주고 커피를 줍니다." % (money -300))
        coffee = coffee -1
    else:
        print("돈을 다시 돌려주고 커피를 주지 않습니다.")
        print("남은 커피의 양은 %d개 입니다." % coffee)
    if coffee == 0:
        print("커피가 다 떨어졌습니다. 판매를 중지 합니다.")
        break
        
// (3-2) while 문 break 예제 결과
300 보다 작다면 >> 돈을 넣어 주세요
300 보다 크다면 >> 조건에 맞는 부분 실행
  • while 문은 조건이 맞지 않는다면 whlie 문을 빠져나가게 되는데 whlie 문의 맨 처음으로 다시 돌아가고 싶은 경우에는 conitune 문을 사용하면 된다.
// (4-1) while 문 continue 예제
a = 0
while a < 10:
   a = a + 1
   if a % 2 == 0: continue
   print(a
   
// (4-2) while 문 continue 예제
1, 3, 5, 7, 9

 

(3) for 문
  • in 뒤에 나와있는 리스트, 튜플, 문자열의 맨 앞의 요소부터 마지막 요소까지 하나씩 꺼내어서 변수에 저장된다.
// (1) for 문의 기본 구조
for 변수 in 리스트(또는 튜플, 문자열):
    수행할_문장1
    수행할_문장2
    ...
    
    
// (2-1) for 문 예제
marks = [90, 25, 67, 45, 80]
number = 0   # 학생에게 붙여 줄 번호
for mark in marks:   # 90, 25, 67, 45, 80을 순서대로 mark에 대입
    number = number +1 
    if mark >= 60: 
        print("%d번 학생은 합격입니다." % number)
    else: 
        print("%d번 학생은 불합격입니다." % number)
        
        
// (2-2) for 문 예제의 결과
1번 학생은 합격입니다.
2번 학생은 불합격입니다.
3번 학생은 합격입니다.
4번 학생은 불합격입니다.
5번 학생은 합격입니다.
  • for 문에서도 continue 문을 사용할 수 있으며, 마찬가지로 for 문 안의 문장을 수행하는 도중 continue 문을 만나게 되면 for 문의 처음으로 돌아가게 된다.
// (3-1) for 문 continue 예제
a = 0
while a < 10:
   a = a + 1
   if a % 2 == 0: continue
   print(a)
   
// (3-2) for 문 continue 예제의 결과
1번 학생 축하합니다. 합격입니다.
3번 학생 축하합니다. 합격입니다.
5번 학생 축하합니다. 합격입니다.