파워 파이썬/파이썬 기초

반복문

상선약수64 2024. 3. 26. 16:21
반응형

1. 반복문의 종류

  • 반복문은 제어문중 하나로서 프로그램 소스 코드내에서 특정한 부분의 코드가 반복적으로 수행될 수 있도록 하는 구문입니다.
  • 반복문의 종류에는 특정 조건이 충족될 때 반복할 동작을 계속적으로 실행하는 while문과 주어진 횟수만큼만 반복하게 하는 for문이 있습니다.

 

  (1) while 문은 조건이 참인 경우 반복할 문장을 실행하고, 조건이 거짓인 경우는 빠져나가는 구문입니다.

while문 구조

 

 

         (예) 아래와 같이 출력하는 프로그램을 작성하고자 합니다. 짝수를 출력하는 프로그램으로 2씩 증가하는 패턴을 가지고 있습니다.

 

  2       4        6        8      10      12    ...............  100

 

프로그램

x = 2
while x <= 100 :
    print(x, end="  ")
    x += 2

 

 

  • 무한루프는 프로그램이 종료되지 않는 것을 무한루프라고 합니다. whil문에서 While True: 라고 지정하면 무한루프 입니다.

 

 

(2) for 문

 

for문 형식

  • range(시작값, 끝값+1, 증감값) : 지정된 범위의 값을 반환함
    • range(0, 3, 1 )은 0에서 시작해서 2까지(3보다 적을때까지) 1씩 증가하는 값을 반환함
    • 증감값이 생략할 경우는 1로 인식함
    •  시작값이 0이면 시작값은 생략할 수 있음
    • 따라서 range(3)라 적으면, range(0, 3, 1)과 동일함
  • range() 함수

 

range() 함수

예1)

for i in range(5) :
    print(i, end="   ")

 

출력되는 결과 : 0  1   2   3   4

 

예2)

for _ in range(5) :
    print("파이썬이 재미있어요")

 

출력되는 결과 :

Tip : 제어변수를 사용하지 않으려면 i대신 _(언더바)를 사용함

 

예3) 1~10의 합계를 구하는 프로그램 작성

hap = 0
for i in range(1, 11, 1) :
    hap += i
print("합=", hap)

 

3) for문과 리스트

  • in 뒤에 리스트 자료형을 n변수에 넣어 리스트를 차례대로 반복적으로 수행할 문장을 실행합니다.

예4 )

numbers = [11, 22, 33, 44, 55, 66]
sum = 0
for n in numbers:
    print(n, end="  ")

 

출력되는 결과 :

 

2. 중첩반복문

  • 반복문안에 또 다른 반복문이 있는 형태로 그림과 같습니다.

중첩 반복문

 

예5)

for i in range(0, 7) :
    for j in range(0, 3) :
        print("i= %d, j=%d" %(i, j), end=" ")
    print()

 

출력되는 결과 :

 

3. continue, break 문

- 반복문 안에서 break문을 만나면 반복문을 끝내고, continue문은 반복할 문장을 건너뛰고 조건식 위치로 이동하도록 프로그램 흐름을 제어할 수 있습니다.

 

(1) break문을 만나면 반복문을 빠져나갑니다.

break문

(2) continue문은 남은 부분을 모두 건너뛰고, 반복문의 처음으로 돌아갑니다.

 

 

continue문

 

<예제>

아래의 패턴을 이해하고, 프로그램을 작성해봅시다. 아래의 패턴은 201보다 작은 자연수 중에서 3의 배수만 제외하고 출력합니다. 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 

 

x = 0
while True :
    x += 1
    if x > 20 :
        break
    if x % 3 == 0:
        continue
    print(x, end = '  ')

 

 

<예제>

1~100의 합계를 구하되, 3의 배수는 제외하고 더하기를 합니다.

hap=0

for i in range(1, 101) :
    if i % 3 == 0 :
        continue
    hap += i

print("1~100까지 3의 배수는 제외한 합 = %d" % hap)

 

 

'파워 파이썬 > 파이썬 기초' 카테고리의 다른 글

튜플 자료구조  (0) 2024.05.07
리스트 데이터 구조  (0) 2024.04.23
조건문  (0) 2024.03.21
연산자과 수식  (0) 2024.03.19
입력(input)과 출력(print) 함수  (0) 2024.03.11