본문 바로가기
Python_Wiki/Python_Syntax

제어문: 반복문

by yj-data 2025. 5. 28.
반복문
for
while

for 반복문

  • 특정 코드로 반복 작업을 하고 싶을 때 사용
  • 리스트와 튜플 그리고 마지막 문자열의 1번째 요소~마지막 요소까지 차례로 변수에 대입되어 "반복수행문" 수행
for 변수 in 리스트(or tuple, or strings):
	반복수행문1
    
for 반복자 in 반복할 수 있는 것:
	반복수행문1
#기본구조
for i in range(5):
	print("selena python programming")
    
#문자열반복    
myList = "Korea"
for a in myList:
	print(a)
    
#리스트반복: 요소 하나하나가 변수에 들어가서 반복
myList = ["Korea", "USA", "Japan"]
for a in myList:
	print(a)

#딕셔너리반복: key가 변수에 들어감
for key_variable in dictionary:
	수행문
myDictionary = [
	"name":"Selena",
    "job":"data scientist"
]
for key in myDictionary:
	print(key, ":", myDictionary[key])
    
#범위반복
range(A) : 0~(A-1)까지 범위
range(A,B,C): A~(B-1)까지 범위 생성, 앞뒤 숫자가 C만큼 차이가 남

list() 함수를 사용해서 range 리스트에 무엇이 들어가는지 확인할 수 있음.
print(list(range(5,10,2))) => [5,7,9]

#딕셔너리에 items로 key,value값 꺼내기
dic = {'name':'Merry', 'num':1, 'birth':'jan'}
for k, v in dic.items():
    print(k, ':', v)
    
#튜플
a = [(1,2), (3,4), (5,6)]
for i in a:
    print(i[0]+i[1])
    
a = [(1,2), (3,4), (5,6)]
for i, j in a:
    print(i + j)
    
a = [[1,2], [3,4], [5,6]] #리스트도 됨
for i, j in a:
    print(i + j)
    
#구구단 - for 문 중첩
for i in range(2, 10):
    for j in range(1, 10):
        print(i * j, end = ' ') #현재 출력값을 뒤에 오는 출력값과 이어서 출력
    print() #결과는 구구단으로 나옴
    
#enumerate : len(변수명)과 비슷하나, index 생성이 가능함
fruits = ["apple", "banana", "cherry"]

for index, fruit in enumerate(fruits):
    print(index, fruit)
    # 0 apple
      1 banana
      2 cherry
      
#zip, 사용법이 좋아서 가져와봄
names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 35]

for name, age in zip(names, ages):
    print(f"{name} is {age} years old.")

 

 

while반복문

  • 조건을 만족하는 한 반복적으로 문장을 실행
  • bool식이 참인 동안 문장을 계속 반복, bool식이 거짓이 되면 반복은 종료 - 무한 반복이 되지 않도록 주의해서 코딩
while 조건:
    반복문1
    반복문2
    반복문3
    ...

break 키워드

  • 반복문을 벗어날 때 사용하며, 보통 무한 반복문을 만들고 내부의 반복을 벗어날 때 사용함
a=10
count=0

while a>3:
	count = count+1
	a = a+1
	if count > 20:
    	break
    print("a=", a, "\t count=", count)
print("반복문 종료")

 

continue 키워드

반복문의 현재 반복을 생략하고 다음 반복으로 넘어갈 때 사용

a = 0
while a < 10:
    a += 1
    if a % 2 == 0:
        continue
    print(a)  #1 3 5 7 9

 

pass키워드: pass가 적혀있는 반복문 자체를 진행하지 않고 pass

a = 0
while a < 10:
    a += 1
    if a % 2 == 0:
        pass
    print(a)  #1 2 3 4 ... 10
    
a = 0
while a < 10:
    a += 1
    if a % 2 == 0:
        pass
    else:
        print(a)  #1 3 5 7 9