동일한 코드를 여러번 반복해야 할 때 사용한다.
while 문
특정 조건이 만족하는 동안 반복해서 수행해야 할 때 사용한다.
조건문이 True 를 만족하는 동안 반복해서 실행한다.
반복해야 하는 횟수나 값의 범위가 명확하지 않은 경우에 주로 사용한다.
작성 방법
while 조건문:
반복할 실행문
hits = 0
tree_hp = 10
while hits < tree_hp:
hits += 1
print(f"나무를 {hits}번째 찍었습니다")
if hits == 10:
print("나무가 넘어갑니다")
# 결과값
# 나무를 1번째 찍었습니다
# 나무를 2번째 찍었습니다
# 나무를 3번째 찍었습니다
# 나무를 4번째 찍었습니다
# 나무를 5번째 찍었습니다
# 나무를 6번째 찍었습니다
# 나무를 7번째 찍었습니다
# 나무를 8번째 찍었습니다
# 나무를 9번째 찍었습니다
# 나무를 10번째 찍었습니다
# 나무가 넘어갑니다
while 문 중첩
day = 1
while day <= 5:
hour = 1
while hour <= 3:
print(f"{day}일차 {hour}교시입니다.")
hour += 1
day += 1
# 결과값
# 1일차 1교시입니다.
# 1일차 2교시입니다.
# 1일차 3교시입니다.
# 2일차 1교시입니다.
# 2일차 2교시입니다.
# 2일차 3교시입니다.
# 3일차 1교시입니다.
# 3일차 2교시입니다.
# 3일차 3교시입니다.
# 4일차 1교시입니다.
# 4일차 2교시입니다.
# 4일차 3교시입니다.
# 5일차 1교시입니다.
# 5일차 2교시입니다.
# 5일차 3교시입니다.
print(hour)
# 결과값
# 4
print(day)
# 결과값
# 6
for 문
값의 범위나 반복 횟수가 정해져 있을 때 주로 사용하는 반복문이다.
반복 가능한 객체 : 문자열, 리스트, 튜플, range, 세트, 딕셔너리
작성 방법
for 변수 in 반복가능객체:
반복 실행문
test = ["one", "two", "three"]
for i in test:
print(i)
# 리스트에 있는 요소 하나하나가 i 라는 변수에 들어가며, 차례차례 반복
# 결과값
# one
# two
# three
# for 반복문은 문자열을 함께 사용할 수도 있음
for char in "안녕하세요":
print(char)
# 결과값
# 안
# 녕
# 하
# 세
# 요
for 문 중첩
일반적으로 n차원 처리를 할 때 사용한다.
리스트가 한 겹으로 감싸지면 1차원 리스트, 두 겹으로 감싸지면 2차원 리스트...등
위와 같은 n 차원 리스트 요소를 모두 확인하려면 반복문을 n 번 중첩해서 사용해야 한다.
over_list = [
[1, 2, 3],
[4, 5, 6, 7],
[8, 9]
]
for items in over_list:
for item in items:
print(item)
# 결과값
# 1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# 9
range
수열을 자동으로 만들어주는 함수이다.
작성 방법
frange(시작 인덱스, 종료 인덱스, 증감 값)
for i in range(10):
print(i, end=" ")
# 결과값
# 0 1 2 3 4 5 6 7 8 9
for i in range(1, 11):
print(i, end=" ")
# 결과값
# 1 2 3 4 5 6 7 8 9 10
for i in range(1, 11, 2):
print(i, end=" ")
# 결과값
# 1 3 5 7 9
# 1부터 10까지의 누적합
total = 0
for i in range(1, 11):
total += i
print(total)
# 결과값
# 55
for 반복문과 딕셔너리 조합
for 반복문과 딕셔너리르 조합하면 딕셔너리의 키가 변수로 들어가게 된다.
dic1 = {"name" : "건조 망고",
"type" : "당 절임",
"ingredient" : ["망고", "설탕", "나트륨", "색소"],
"origin" : "필리핀"}
for key in dic1:
print(key)
print(dic1[key])
print("-" * 10)
# 결과값
# name
# 건조 망고
# ----------
# type
# 당 절임
# ----------
# ingredient
# ['망고', '설탕', '나트륨', '색소']
# ----------
# origin
# 필리핀
# ----------
enumerate 함수
리스트의 요소를 반복할 때 요소의 인덱스를 함께 반환하는 함수이다.
현재 인덱스가 몇번째인지 확인하고 싶은 경우에 사용한다.
exList = ["요소1", "요소2", "요소3"]
for i in enumerate(exList):
print(i)
# 결과값
# (0, '요소1')
# (1, '요소2')
# (2, '요소3')
exList = ["요소1", "요소2", "요소3"]
for i, value in enumerate(exList):
print(f"{i}번째 요소는 {value}입니다.")
# 결과값
# 0번째 요소는 요소1입니다.
# 1번째 요소는 요소2입니다.
# 2번째 요소는 요소3입니다.
break
반복문을 강제로 종료시킬 때 사용한다.
n = 1
while True:
print(n)
if n == 10:
break
n += 1
# 결과갑
# 1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# 9
# 10
print(n)
# 결과값
# 10
continue
반복문에서 시작 지점으로 이동할 때 사용한다.
반보에서 제외하거나 생략하고 싶은 코드가 있을 때 사용한다.
a = 0
while a < 10:
a += 1
if a % 2 == 0:
continue
print(a)
# 결과값
# 1
# 3
# 5
# 7
# 9
scores = [90, 25, 67, 45, 80]
number = 0
for score in scores:
number += 1
if score < 60:
continue
print(f"{number}번 학생은 합격입니다")
# 결과값
# 1번 학생은 합격입니다.
# 3번 학생은 합격입니다.
# 5번 학생은 합격입니다.