본문 바로가기
Python

파이썬 반복문

by 승환파크 2023. 5. 8.

동일한 코드를 여러번 반복해야 할 때 사용한다.

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번 학생은 합격입니다.

 

'Python' 카테고리의 다른 글

파이썬 데이터 입출력  (0) 2023.05.08
파이썬 함수  (1) 2023.05.08
파이썬 조건문  (0) 2023.05.08
파이썬 세트  (0) 2023.05.08
파이썬 딕셔너리  (0) 2023.05.08