파이썬 이론 3회차_조건문 반복문

김채윤·2025년 12월 11일

조건문

파이썬에서는 조건문을 활용하여 조건에 따라 실행여부를 결정할 수 있다.
코드는 다음과 같다.

if 조건문:
    실행문1
elif 조건문:
    실행문2
else 조건문:
    실행문3

if 조건문으로 처음 조건을 걸고, 그게 아닌 값들에 대해 다른 조건을 추가로 걸고 싶을 때 elif를 사용한다. elif는 여러 개 사용하여 추가 조건을 계속 걸어줄 수 있다. 마지막으로 남은 값에 대해서는 else를 사용한다.

조건문을 이용해 홀수 짝수를 구별해보자

num = int(input("숫자를 입력해주세요:"))

if num % 2 == 0:
    print("짝수입니다.")
elif num % 2 != 0:
    print("홀수입니다.")
else:
    print("짝수도 홀수도 아닙니다.") 

이 때 조심할 점은 아니다라는 걸 표현할 때 !==가 아닌 !=을 써야한다는 것!!

반복문

반복문은 같은 동작을 여러 번 수행하는 문법이다.

1. for 반복문

변수를 반드시 설정해주어야 한다.

for 변수 in 반복대상:
     실행문
fruits = ["사과", "바나나", "딸기"]

# 리스트를 반복하고 싶다. fruits 안에 담긴 값을 f라고 지정한다.
for f in fruits:
    print(f)

for 변수 in range(시작값, 끝값+1):
     실행문
for i in range(1, 6):
    print(i)

total = 0

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

total을 0으로 먼저 설정해주고 i를 1부터 5까지 반복한다
total=0에서 시작해 i가 1일 때 0+1=1이고 total=1이 된다.
total=1이고 i가 2일 때 1+2=3이고 total=3이 된다.
total=3이고 i가 3일 때 3+3=6이고 total은 6이 된다.
total=6이고 i가 4일 때 6+4=10이고 total은 10이 된다.
total=10이고 i가 5일 때 10+5=15이고 total은 15가 된다.

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

만약 total = 0을 조건문 안에 넣으면 조건문이 계속 반복되면서 total = 0으로 계속 리셋된다.

for문 안에서 계속 반복이 일어난다는 것을 기억

for i in range(1, 6):
    print("*" * i)

for i in range(1, 6):
    print(" " * (5 - i) + "*" * i)

2. while 반복문

조건에 따라 반복문을 실행하고 싶을 때 사용한다.

조건을 만족할 때까지 실행문을 반복하고 조건이 만족되지 않을 때 끝난다.

while 조건식:
      실행문
n = 5

while n > 0:
      print(n)
      n -= 1

print("발사!")

n = 5

while n > 0:
      n -= 1
      print(n)

print(n)을 밑에 쓰면 n에서 1을 먼저 빼고 그 값을 출력하는 걸 확인할 수 있다.

조건문과 반복문의 결합

조건문과 반복문을 결합하여 사용할 수 있다.

scores = [88, 95, 67, 70, 100]
      
for s in scores:
    if s >= 80:
        print(f"{s}점 -> 합격")
    else:
        print(f"{s}점 -> 불합격")

s가 88일 때 80이상이므로 "88점 -> 합격" 출력
s가 95일 때 80이상이므로 "95점 -> 합격" 출력
s가 67일 때 80이상이 아니므로 "67점 -> 불합격" 출력
s가 70일 때 80이상이 아니므로 "70점 -> 불합격" 출력
s가 100일 때 80이상이므로 "100점 -> 합격" 출력

break와 continue

1. break

조건을 만족하면 즉시 멈춘다.

for i in range(1, 10):
    if i == 5:
        break
    print(i)

i는 1부터 9까지를 순회한다.
i가 1일 때 5가 아니므로 1을 출력
i가 2일 때 5가 아니므로 2를 출력
i가 3일 때 5가 아니므로 3을 출력
i가 4일 때 5가 아니므로 4를 출력

i가 5일 때 break하고 조건문 종료

2. continue

일단 계속 진행한다.

for i in range(1, 10):
    if i == 5:
        continue
    print(i)
print("continue 이후 다음 반복 진행")

i가 1일 때 if조건문 만족 안 하므로 1을 출력
i가 2일 때 if조건문 만족 안 하므로 2을 출력
i가 3일 때 if조건문 만족 안 하므로 3을 출력
i가 4일 때 if조건문 만족 안 하므로 4을 출력

i가 5일 때 if조건문을 만족하므로 continue(무시하고 for구문을 계속 반복한다)

i가 6일 때 if조건문 만족 안 하므로 6을 출력
i가 7일 때 if조건문 만족 안 하므로 7을 출력
i가 8일 때 if조건문 만족 안 하므로 8을 출력
i가 9일 때 if조건문 만족 안 하므로 9을 출력

for i in range(1, 6):
    if i % 2 == 0:
        continue
    print(i)

i가 1일 때 2로 나누면 0이 아니므로 1을 출력

i가 2일 때 2로 나누면 0이므로 continue

i가 3일 때 2로 나누면 0이 아니므로 3을 출력

i가 4일 때 2로 나누면 0이므로 continue

i가 5일 때 2로 나누면 0이 아니므로 5를 출력

0개의 댓글