프로그래밍 언어의 꽃인 for문입니다. 다른 언어의 for문과 파이썬의 for문이 크게 다르지 않습니다.
for문은 반복문으로 지정된 횟수로 원하는 작업을 반복할 때 사용합니다.
for문
for문 사용방법
for <루프안의 변수> in <순회할 목록>: 루프 실행문
반복문(루프)를 순회할 때마다 목록에서 아이템을 꺼내서 루프안의 변수에 할당합니다. 이렇게 할당된 루프안의 변수는 루프 실행문에서 사용됩니다. 주의하셔야 할 점은 들여쓰기(4칸 띄어쓰기)를 꼭 해주셔야 합니다. for문 안에 for문을 쓰실 때에도 들여쓰기를 잘 확인해 주세요
[in]
i=1
for I in range(10):
print(i)
i+=1
for문을 사용해서 0 부터 10까지 print 하는 코드입니다.
리스트와 for문
[in]
fruit = ["apple", "banana", "grape", "blueberry"]
for I in fruit:
print(fruit)
[out]
apple
banana
grape
blueberry
파이썬의 for문은 c와 java와는 조금 다릅니다. (초기화, 조건, 실행) 의 형태가 아니라 해당 범위의 데이터 안을 순회하고 끝나면 실행을 종료합니다.
딕셔너리와 for문
[in]
minsu_info = {
"name":"minsu",
"age":"20"
}
for i in minsu_info:
print(i, ":", minsu_info[i])
[out]
minsu
20
range() 함수 사용하기
for문을 특정 횟수만큼 반복하고 싶을 때 range() 함수를 사용하시면 됩니다.
[in]
for I in range(10):
print(i)
0부터 9까지 반복하는 코드입니다.
range() 함수를 더 응용해서 사용할 수 있습니다. range(시작, 끝, 간격) 형태로 사용할 수 있습니다.
[in]
for I in range(1, 10, 2):
print(i)
[out]
1
3
5
7
9
시작과 끝을 지정하고 간격만큼 증가시키며 출력할 수 있습니다.
break문
루프를 실행하다가 특정 조건을 만날 때 해당 루프를 중지하고 싶은 경우 break를 사용하시면 됩니다.
[in]
numbers = [1,2,3,4,5]
for number in numbers:
if number == 3:
print("3입니다")
break
else:
print("not found 3")
for문이 실행되다가 break를 만나게 되면 for문이 바로 중단됩니다.
continue문
continue는 break 와는 반대로 조건이 되면 즉시 루프 블록의 나머지를 건너뛰고 다음 아이템으로 넘어가 새로 for문을 실행합니다.
[in]
i = ["1", 2, "3", 4, "5"]
for item in i:
if type(item) is str:
continue
print("number:", item)
[out]
number:2
number:4
리스트의 아이템을 순회하면서 각 아이템 타입이 str이면 남은 블록을 무시하고 다음 아이템을 실행하는 코드입니다. continue를 응용하면 조건에 맞거나 맞지 않으면 루프의 나머지를 통째로 지나치게 할 수 있습니다.
else문
for문에서도 else문을 사용할 수 있습니다. for문에서 else는 break 와 함께 사용하게 되는 경우가 많은데 코드를 보시겠습니다.
[in]
numbers= [1, 2, 3, 4, 5]
for number in numbers:
if number == 3:
print("I fount 3")
break
else:
print("not fount 3")
else:
print("3 not in numbers")