조건문과 반복문 (if / for / while)
1. 조건문 (if, elif, else)
개념
조건문은 조건에 따라 실행 여부를 결정하는 문법입니다.
예를 들어,
•
점수가 90점 이상이면 “A”
•
그렇지 않으면 “B”
이런 식으로 프로그램이 판단을 내릴 수 있게 만듭니다.
기본 구조
if 조건식:
실행문1
elif 다른_조건식:
실행문2
else:
실행문3
Python
복사
if는 첫 번째 조건, elif는 추가 조건, else는 그 외의 경우를 의미합니다.
짝수/홀수 판별기
num = int(input("숫자를 입력하세요: "))
if num % 2 == 0:
print("짝수입니다.")
else:
print("홀수입니다.")
Python
복사
출력 예시
숫자를 입력하세요: 13
홀수입니다.
Plain Text
복사
num % 2는 나머지를 구하는 연산이에요. 나머지가 0이면 짝수, 1이면 홀수죠.
나이대 분류기
age = int(input("나이를 입력하세요: "))
if age < 13:
print("어린이입니다.")
elif age < 20:
print("청소년입니다.")
elif age < 65:
print("성인입니다.")
else:
print("노년층입니다.")
Python
복사
출력 예시
나이를 입력하세요: 45
성인입니다.
Plain Text
복사
elif를 여러 개 쓸 수 있어요. 위에서부터 차례로 비교하므로 먼저 참이 되는 조건에서 멈춥니다.
점수에 따른 학점 출력
score = int(input("점수를 입력하세요: "))
if score >= 90:
print("A 학점입니다.")
elif score >= 80:
print("B 학점입니다.")
elif score >= 70:
print("C 학점입니다.")
else:
print("재시험 대상입니다.")
Python
복사
출력 예시:
점수를 입력하세요: 85
B 학점입니다.
Plain Text
복사
2. 반복문 (for, while)
개념
반복문은 같은 동작을 여러 번 수행하는 문법입니다.
데이터가 여러 개일 때, 일일이 다루지 않고 자동으로 처리할 수 있습니다.
for 문 기본 구조
for 변수 in 반복대상:
실행문
Python
복사
리스트 순회
fruits = ["사과", "바나나", "딸기"]
for f in fruits:
print(f)
Python
복사
출력:
사과
바나나
딸기
Plain Text
복사
리스트에서 짝수만 출력
numbers = [3, 8, 12, 7, 10, 5, 2]
for n in numbers:
if n % 2 == 0:
print(f"{n}은(는) 짝수입니다.")
Python
복사
출력
8은(는) 짝수입니다.
12은(는) 짝수입니다.
10은(는) 짝수입니다.
2은(는) 짝수입니다.
Plain Text
복사
조건문과 반복문을 조합하면 “데이터 중 일부만” 골라낼 수 있어요.
이런 구조는 데이터 필터링의 기초입니다.
별(*) 삼각형 출력
for i in range(1, 6):
print("*" * i)
Python
복사
출력
*
**
***
****
*****
Plain Text
복사
문자열도 곱셈(*) 연산이 가능해서, *를 여러 번 반복할 수 있습니다.
이 예제는 반복문과 문자열 연산의 결합 예시입니다.
범위(range)로 반복
for i in range(1, 6):
print(i)
Python
복사
출력:
1
2
3
4
5
Plain Text
복사
range(시작, 끝)은 끝 바로 전까지 반복합니다.
1부터 N까지의 합 구하기
n = int(input("N을 입력하세요: "))
total = 0
for i in range(1, n+1):
total += i
print(f"1부터 {n}까지의 합은 {total}입니다.")
Python
복사
출력
N을 입력하세요: 10
1부터 10까지의 합은 55입니다.
Plain Text
복사
누적 계산(+=)은 반복문에서 가장 많이 쓰이는 패턴이에요.
while 문 기본 구조
while 조건식:
실행문
Python
복사
조건식이 참(True) 인 동안 계속 반복합니다.
카운트다운
n = 5
while n > 0:
print(n)
n -= 1
print("발사!")
Python
복사
출력
5
4
3
2
1
발사!
Plain Text
복사
while은 조건이 True일 동안 계속 실행됩니다.
조건이 False가 되면 종료돼요.
숫자 누적합
n = 1
total = 0
while n <= 5:
total += n
n += 1
print(f"합계: {total}")
Python
복사
출력:
합계: 15
Plain Text
복사
반복 제어문
문법 | 설명 | 예시 |
break | 반복문 즉시 종료 | if i == 3: break |
continue | 다음 반복으로 넘어감 | if i == 3: continue |
break
for i in range(1, 10):
if i == 5:
break
print(i)
print("break 이후 반복 종료")
Python
복사
출력:
1
2
3
4
break 이후 반복 종료
Plain Text
복사
continue
for i in range(1, 10):
if i == 5:
continue
print(i)
print("continue 이후 다음 반복 진행")
Python
복사
출력:
1
2
3
4
6
7
8
9
continue 이후 다음 반복 진행
Plain Text
복사
break는 반복 자체를 멈추고,
continue는 “이번 반복만 건너뛴다”는 뜻이에요.
3. 조건문 + 반복문 결합 예제
점수 합격자 판별
scores = [88, 95, 67, 70, 100]
for s in scores:
if s >= 80:
print(f"{s}점 → 합격")
else:
print(f"{s}점 → 불합격")
Python
복사
출력:
88점 → 합격
95점 → 합격
67점 → 불합격
70점 → 불합격
100점 → 합격
Plain Text
복사
이렇게 리스트와 조건문을 함께 쓰면 데이터 일괄 처리가 가능합니다.
리스트에서 특정 값 찾기
nums = [10, 20, 30, 40, 50]
target = int(input("찾고 싶은 숫자 입력: "))
found = False
for n in nums:
if n == target:
found = True
break
if found:
print(f"{target}이(가) 리스트에 있습니다.")
else:
print(f"{target}이(가) 리스트에 없습니다.")
Python
복사
출력
찾고 싶은 숫자 입력: 30
30이(가) 리스트에 있습니다.
Plain Text
복사
이런 구조는 실제 검색 알고리즘의 기본이에요.
라이브 코드
# 흐름과 제어
# 조건문, 반복문, 둘의 결합
'''
조건문
if: 만약에~
if 조건식:
(true) 실행문1("짝수입니다")
elif 다른 조건식:
(1-> false)
(true) 실행문2("홀수입니다")
else:
0이나 문자열 ("짝수도 홀수도 아닙니다.")
'''
'''
if 오늘이 월요일:
(true) 월요일입니다
elif 오늘 화요일:
(true) 화요일입니다
elif 오늘 수요일:
(true) 수요일입니다
elif 오늘 목요일:
(true) 목요일입니다
elif 오늘 금요일:
(true) 금요일입니다
else:
주말입니다
'''
# 홀수 짝수 판별
# if 짝수:
# true "짝수입니다"
# elif 홀수:
# true "홀수입니다"
# else:
# "홀수도 짝수도 아닙니다."
# // 몫
# % 나머지
# 숫자 / 2 -> 나머지 0(나누어 떨어지면) -> 짝수
# num = int(input())
# if num % 2 == 0:
# print("짝수입니다.")
# elif num % 2 != 0:
# print("홀수입니다.")
# else:
# print("짝수도 홀수도 아닙니다.")
# 반복문
# 같은 동작을 여러 번 해야할 때
# for, while -> 자료구조와 연결시켜서 생각하기
# 문법 구조
'''
for 변수 in 반복할 대상:
반복할 내용
'''
# 리스트 순회
# for ... in 반복할 리스트
# fruits = ["사과", "바나나", "딸기"]
# print(fruits[0]) # "사과"
# print(fruits[1]) # "바나나"
# print(fruits[2]) # "딸기"
# for fruit in fruits:
# print(fruit)
# 1: fruit = fruits[0] = 사과
# 2: fruit = fruits[1] = 바나나
# 3: fruit = fruits[2] = 딸기
# for ... in range(1, n+1): # range -> 위치값이 필요
# 횟수까지 고려 -> 위치값(인덱스값) 필요
# for i in range(1, 6):
# print(i)
n = int(input("N을 입력해주세요."))
total = 0
for i in range(1, n+1): # 1, 2, 3, 4, 5
# total = total + i
# total = 0 + 1 (i = 1)
# total = 1 + 2 (i = 2)
# total = 3 + 3 (i = 3)
# total = 6 + 4 (i = 4)
# total = 10 + 5 (i = 5)
total += i
print(total)
print(total)
# i = 1 -> total + 1 -> total = 1
# i = 2 -> total + 2 -> total = 3
# i = 3 -> total + 3 -> total = 6
# i = 4 -> total + 4 -> total = 10
# i = 5 -> total + 5 -> total = 15
# for -> 순회할 공간, 횟수를 지정해주는 반복분
# while -> 횟수 지정할 수 없을 때(어떤 특정 조건에서 동작하게)
'''
[1, 3, 5, 7, 8]
while 조건식:
실행문
특정 조건에서만 동작하게 하는 반복문
'''
n = 5
while n > 0: # n이 0보다 클때(까지) -> 아니요 false
print(n)
n -= 1
# n = 5 - 1
# n = 4 - 1
# n = 3 - 1
# n = 2 - 1
# n = 1 - 1
print("발사!")
# if문, for문(for in , for in range), while문
# 손으로 적기
Python
복사
Copyright ⓒ 2025 TeamSparta All rights reserved.


