프로그램을 만들다 보면 코드를 반복적으로 실행해야 할 때가 있습니다.
이번에는 파이썬의 반복 문인 for 문과 while 문에 대하여 알아보겠습니다.
범위를 정해준후 반복
for문을 사용하기전 for문에서 사용하는 range함수에 대해 잠깐 알아보겠습니다.
range함수는 말그대로 범위 함수 입니다.
range(1,10) == [1,2,3,4,5,6,7,8,9]
range(1,10)이면 1부터 10까지의 의미로 알기 쉽지만 range(1,10)의 의미는 1 이상 10미만(1~9)을 뜻합니다.
기본구조
for i in range(시작지점,종료지점,증가량):
실행할 코드1
실행할 코드2
.
.
.
for문은 주로 range(범위 함수) 함수와 같이 사용합니다.
위의 코드처럼 range 함수에 시작 지점 와 종료지점 그리고
증가량( i 증가량, 증가량을 적지 않으면 증가량을 1로 인식함 )을 입력하면 i가 증가량만큼 시작점에서 끝점까지의 수만큼 반복하는 원리입니다.
for i in range(0,5):
print(i)
결과>>
0
1
2
3
4
for문의 자식 코드를 입력하기 위해서는 : (쌍점)을 입력한후 for문 아래에 코드를 입력해주에야 한다.
for i in range(0,5,2):
print(i)
결과>>
0
2
4
증가량을 2로 설정했기 때문에 i가 0에서 2씩 더해진걸 알수 있습니다.
뭔가 다른 반복문
기본구조
while 조건:
실행할 코드1
실행할 코드2
.
.
.
a=0
while a<5:
print(a)
a+=1
결과>>
0
1
2
3
4
for 문과 마찬가지로 시적 지점과 종료지점, 증가량을 정해주어야 합니다.
while 문은 for 문과 달리 조건문(위의 코드에서는 'a<5')을 반복할 때마다 계산합니다.
위에서는 조건문이 a<5 즉 4이하 일 때만 하위 코드가 실행하도록 설정했기 때문에 a가 4까지 출력된 걸 볼 수 있으며, while에서는 하위 코드에 반드시 증가량을 적어주어야 합니다.
( 참고로 a+=1은 a=a+1과 같습니다 )
a=0
while a<5:
print(a)
결과>>
0
0
0
0
0
.
.
.
변수 a 의 증가량이 없기때문에 a가 0으로 무한히 출력됩니다.
while True:
print("0")
결과>>
0
0
0
0
0
.
.
.
조건문이 True(참) 이므로 무한히 실행된다.
while 1:
print("0")
결과>>
0
0
0
0
0
.
.
.
1은 2진수로 True임으로 무한히 실행됩니다.
이처럼 while은 range를 사용하는 for 문과 달리 무한출력에 사용할 수 있습니다.
감사합니다. 이런 정보를 나눠주셔서 좋아요.