03_파이썬 기초(3)

ryu·2023년 5월 6일

횟수에 의한 반복문

for ~ in

  • for문을 주로 사용

    • while도 사용할 수 있지만 for문이 보다 적합하다
  • 정해놓은 반복 횟수에 따라 반복 실행

    for i in range(5):	# for ~ in 키워드 + 반복횟수
      print("Hello")	#실행문

pass

  • 아무런 작업을 하지 않고 다음 반복으로 넘어갈 때 사용

반복 범위 설정 - range

  • range(시작, 끝, 단계)
    • 시작점부터 끝점의 1 직전까지 단계만큼 증가
    • 시작점은 생략이 가능하고 생략한다면 0부터 시작
    • 단계도 생략이 가능하고, 생략한다면 1씩 증가
  • 감소하는 순서로 출력하고 싶다면 단계에 음수를 지정하고, 시작점이 끝점보다 작으면 됨
    • 시작점, 끝점, 단계의 관계가 잘못 설정되어있어도 오류는 발생하지 않지만 아무것도 출력되지 않음
    • 예를 들어 증가하는 순서대로 출력하는데 끝점이 시작점보다 작게 설정된 경우 오류는 발생하지 않으나 반복이 이루어지지 않음

조건에 의한 반복문

  • 조건을 만족하면 반복을 실행하고, 그렇지 않으면 반복을 중단
  • while을 사용
    • for문을 사용하여 구현할 수 있지만 while문이 더 적합하다

while

  • while + 조건식 / 실행문 구조로 구성

    while 조건식:	# 조건식이 True인 동안 반복됨
      실행문

무한루프

  • 반복문을 잘못 사용할 경우 반복이 종료되지 않는 무한루프에 빠질 수 있으며, 최악의 경우 시스템이 아웃되는 경우도 발생할 수 있으므로 주의가 필요

  • 주로 발생하는 경우는 while문에서 조건식의 결과가 항상 True인 경우 발생

    n = 1
    
    while n < 10:
      print("hello")

반복문 제어

continue

  • 반복 실행 중 continue를 만나면 실행을 생략하고 다음 반복 실행문으로 넘어감

for ~ else

  • 반복문이 종료된 후 else문의 실행문을 실행

  • break 등에 의해 반복문이 중단된 경우에는 실행되지 않음

    for i in range(2):
      print("Hello")
    else:
      print("Bye")
      
    # Hello
    #	Hello
    # Bye
    
    for i in range(2):
      if i == 1:
        break
        
       print("hello")
    else:
      print("Bye")
      
    # hello

break

  • 반복 실행 중 break를 만나면 반복문을 빠져나옴

중첩 반복문

  • 반복문 안에 또 다른 반복문을 선언하는 것

    for i in range(1, 10):
      for j in range(i):
        print('*', end='')
      print()
  • 너무 많은 중첩은 반복횟수를 기하급수적으로 늘리기 때문에 시스템에 부하가 올 수 있고, 코드의 가독성 역시 떨어짐

0개의 댓글