파이썬 강좌 6번째 시간입니다. 오늘은 반복문을 알아볼겁니다. 반복문은 두가지로 나뉘어 지는데요 while 반복문과 for 반복문 이렇게 두가지로 나뉘어져 있습니다. 반복문을 빠르게 알아보도록 하겠습니다.

파이썬강좌6반복문

while 반복문 기본 구조와 활용

파이썬강좌6while반복문

while문의 기본 구조

반복해서 문장을 수행해야 할 경우 while문을 사용합니다. while문은 조건문이 참인 동안에만 해당 문장을 반복해서 수행하는 반복문입니다. 기본 구조는 다음과 같습니다

while <조건문>:
    수행할 문장1
    수행할 문장2
    수행할 문장3
    ...

예제: 나무 찍기

“열 번 찍어 안 넘어가는 나무 없다”는 속담을 파이썬 코드로 구현해 보겠습니다:

반복해서 문장을 수행해야 할 경우 while문을 사용합니다. while문은 조건문이 참인 동안에만 해당 문장을 반복해서 수행하는 반복문입니다. 기본 구조는 다음과 같습니다

treeHit = 0
while treeHit < 10:
    treeHit += 1  # treeHit 값을 1씩 증가
    print('나무를 %d번 찍었습니다.' % treeHit)
    if treeHit == 10:
        print("나무가 넘어갑니다.")

입력받아 선택하기

다음은 여러 선택지를 입력받아 처리하는 예제입니다

prompt = """
1. add
2. del
3. list
4. quit

enter number: """
number = 0
while number != 4:
    print(prompt)
    number = int(input())

사용자가 4를 입력하지 않으면 계속해서 prompt를 출력합니다.

while문 강제로 빠져나가기: break문

커피 자판기 예제를 통해 break문을 알아보겠습니다

coffee = 10
money = 300
while money:
    print("돈을 받았으니 커피를 줍니다.")
    coffee -= 1
    print('남은 커피의 양은 %d개입니다.' % coffee)
    if coffee == 0:
        print('커피가 다 떨어졌습니다. 판매를 중지합니다.')
        break

실제 자판기 작동 예제

coffee = 10
while True:
    money = int(input("돈을 넣어주세요: "))
    if money == 300:
        print("커피를 줍니다.")
        coffee -= 1
    elif money > 300:
        print("거스름돈 %d를 주고 커피를 줍니다." % (money - 300))
        coffee -= 1
    else:
        print("돈을 다시 돌려주고 커피를 주지 않습니다.")
        print("남은 커피의 양은 %d개입니다." % coffee)
    if coffee == 0:
        print("커피가 다 떨어졌습니다. 판매를 중지합니다.")
        break

while문의 맨 처음으로 돌아가기: continue문

다음은 1부터 10까지의 숫자 중 홀수만 출력하는 예제입니다

a = 0
while a < 10:
    a += 1
    if a % 2 == 0: continue
    print(a)

무한루프

무한히 반복되는 루프를 무한루프라고 합니다. 일반 프로그램에서도 자주 사용됩니다. 무한루프의 기본 형태는 다음과 같습니다

while True:
    수행할 문장1
    ...

다음은 무한루프 예제입니다

while True:
    print("Ctrl+C를 누르면 while문에서 빠져나올 수 있습니다.")

이 코드는 Ctrl+C를 눌러야만 while문을 빠져나갈 수 있습니다.

for문: 파이썬의 직관적 반복문

파이썬강좌6for반복문

파이썬의 for문은 반복 작업을 간결하고 직관적으로 처리할 수 있게 해줍니다. while문과 유사하지만, 더 명확한 문법 구조 덕분에 매우 유용하고 사용하기 쉽습니다.

for문의 기본 구조

for 문의 기본 구조는 다음과 같습니다

for 변수 in 리스트(또는 튜플, 문자열):
    수행할 문장1
    수행할 문장2
    ...

리스트, 튜플, 문자열의 각 요소가 차례로 변수에 대입되고, 해당 요소에 대해 “수행할 문장”들이 실행됩니다.

예제로 보는 for문

1. 전형적인 for문

test_list = ['one', 'two', 'three']
for i in test_list:
    print(i)

결과:

one
two
three

리스트의 각 요소가 차례로 변수 i에 대입되고, print(i)가 실행됩니다.

2. 다양한 for문의 사용

튜플을 포함한 리스트를 순회하는 예제입니다:

a = [(1, 2), (3, 4), (5, 6)]
for (first, last) in a:
    print(first + last)

결과:

3
7
11

리스트의 각 요소가 튜플이기 때문에 (first, last) 형태로 자동 대입됩니다.

for문의 응용

1. 합격 여부 판별

학생들의 점수 리스트를 활용하여 합격 여부를 출력하는 예제입니다

scores = [90, 25, 56, 52, 60]
number = 0
for score in scores:
    number += 1
    if score >= 60:
        print("%d번 학생은 합격입니다." % number)
    else:
        print("%d번 학생은 불합격입니다." % number)

결과

1번 학생은 합격입니다.
2번 학생은 불합격입니다.
3번 학생은 불합격입니다.
4번 학생은 불합격입니다.
5번 학생은 합격입니다.

2. continue문

continue문을 사용하여 특정 조건을 만족하는 경우 반복문 처음으로 돌아가는 예제입니다

scores = [90, 25, 56, 52, 60]
number = 0
for score in scores:
    number += 1
    if score < 60:
        continue
    print("%d번 학생 축하합니다. 합격입니다." % number)

결과

1번 학생 축하합니다. 합격입니다.
5번 학생 축하합니다. 합격입니다.

for문과 range함수

1. 기본 사용법

for i in range(5):
    print(i)

결과

0
1
2
3
4

2. 응용: 1부터 10까지의 합

total = 0
for i in range(1, 11):
    total += i
print(total)

결과:

55

for와 range를 이용한 구구단 출력

2 4 6 8 10 12 14 16 18 
3 6 9 12 15 18 21 24 27 
4 8 12 16 20 24 28 32 36 
5 10 15 20 25 30 35 40 45 
6 12 18 24 30 36 42 48 54 
7 14 21 28 35 42 49 56 63 
8 16 24 32 40 48 56 64 72 
9 18 27 36 45 54 63 72 81 

리스트 내포 (List Comprehension)

리스트 내포를 사용하면 더 간결하고 직관적인 코드를 작성할 수 있습니다.

1. 기본 예제

a = [1, 2, 3, 4]
result = [num * 3 for num in a]
print(result)

결과:

[3, 6, 9, 12]

2. 조건을 포함한 리스트 내포

a = [1, 2, 3, 4]
result = [num * 3 for num in a if num % 2 == 0]
print(result)

결과:

[6, 12]

3. 다중 for문을 포함한 리스트 내포

result = [x * y for x in range(2, 10) for y in range(1, 10)]
print(result)

결과:

[2, 4, 6, 8, 10, 12, 14, 16, 18, 3, 6, 9, 12, 15, 18, 21, 24, 27, 4, 8, 12, 16, 20, 24, 28, 32, 36, 5, 10, 15, 20, 25, 30, 35, 40, 45, 6, 12, 18, 24, 30, 36, 42, 48, 54, 7, 14, 21, 28, 35, 42, 49, 56, 63, 8, 16, 24, 32, 40, 48, 56, 64, 72, 9, 18, 27, 36, 45, 54, 63, 72, 81]

이제 for문을 활용하여 다양한 반복 작업을 효율적으로 처리할 수 있습니다. if문, while문, for문을 잘 활용하면 보다 직관적이고 효율적인 파이썬 코드를 작성할 수 있습니다.

오늘은 이렇게 반복문을 알아보았습니다. 전시간에 배운 if문과 반복문은 실제로 많이사용되는데요. if문과 반복문을 함께 사용하면서 연습해서 실무에서 버벅거림없이 코딩을 잘하실겁니다.

파이썬강좌5 보러가기

Similar Posts