Step by Security Study
[기초] while문 (반복문) 본문
while문
조건이 참인 경우에 반복하여 명령을 실행하는 것을 말한다.
# 사용 형식
while 조건:
실행될 소스
실행될 소스
continue와 break
while 문은 조건이 참인 경우 계속 반복되기 때문에 무한 루프를 조심해야 한다. 무한 루프는 주로 조건이 명확하지 않는 경우 발생하지만 개발자가 의도 (프로그램이 계속 실행되어야 하는 경우)에 따라 무한루프를 만드는 경우도 있다.
continue : 뒤에 있는 소스는 더 이상 진행하지 않고 처음으로 돌아간다.
break : 반복문 탈출 (while문 탈출)
count = 0
while True: # 조건은 참
count = count + 1
if count == 5: # 만약에 count 의 값이 5인 경우, continue 진행
continue
if count == 10: # 만약에 count의 값이 10인 경우, break 진행
break
print(count) # count 값 출력
>>
1
2
3
4
5
6
7
8
9
연습
디버깅 (또는 디버그) 작업을 통한 소스 분석
디버깅은 시스템의 오류나 버그를 찾아 원인을 찾고 수정하는 작업 과정을 말한다.
아래 코드 실행 과정을 설명해 순서대로 설명해 놓은 것이다.
[1]
# 현재 count의 값 : 0
count = 0
while True: # 조건이 참이기 때문에 아래 소스 실행
count = 0 + 1 # 현재 count 값 (0) 에 + 1 -> count 값 : 1
if count == 5: # 현재 count 값 (1)은 if 조건에 부합하지 않기 때문에 실행 x
continue
if count == 10: # 현재 count 값 (1)은 if 조건에 부합하지 않기 때문에 실행 x
break
print(count) # 현재 count 값 (1) 출력
>>
1
[2]
# 현재 count의 값 : 1
count = 1
while True: # 조건이 참이기 때문에 아래 소스 실행
count = 1 + 1 # 현재 count 값 (1) 에 + 1 -> count 값 : 2
if count == 5: # 현재 count 값 (2) 은 if 조건에 부합하지 않기 때문에 실행 x
continue
if count == 10: # 현재 count 값 (2) 은 if 조건에 부합하지 않기 때문에 실행 x
break
print(count) # 현재 count 값 (2) 출력
>>
1
2
[3]
# 현재 count의 값 : 2
count = 2
while True: # 조건이 참이기 때문에 아래 소스 실행
count = 2 + 1 # 현재 count 값 (2) 에 + 1 -> count 값 : 3
if count == 5: # 현재 count 값 (3) 은 if 조건에 부합하지 않기 때문에 실행 x
continue
if count == 10: # 현재 count 값 (3) 은 if 조건에 부합하지 않기 때문에 실행 x
break
print(count) # 현재 count 값 (3) 출력
>>
1
2
3
[4]
# 현재 count의 값 : 3
count = 3
while True: # 조건이 참이기 때문에 아래 소스 실행
count = 3 + 1 # 현재 count 값 (3) 에 + 1 -> count 값 : 4
if count == 5: # 현재 count 값 (4) 은 if 조건에 부합하지 않기 때문에 실행 x
continue
if count == 10: # 현재 count 값 (4) 은 if 조건에 부합하지 않기 때문에 실행 x
break
print(count) # 현재 count 값 (4) 출력
>>
1
2
3
4
[5]
# 현재 count의 값 : 4
count = 4
while True: # 조건이 참이기 때문에 아래 소스 실행
count = 4 + 1 # 현재 count 값 (4) 에 + 1 -> count 값 : 5
if count == 5: # 현재 count 값 (5) 은 if 조건에 부합되기 때문에 if 문 실행
continue -> 다시 처음으로 돌아감 (그래서 출력값에 5가 없는 것이다.)
if count == 10:
break
print(count)
>>
1
2
3
4
[6]
# 현재 count의 값 : 5
count = 5
while True: # 조건이 참이기 때문에 아래 소스 실행
count = 5 + 1 # 현재 count 값 (5) 에 + 1 -> count 값 : 6
if count == 5: # 현재 count 값 (6) 은 if 조건에 부합하지 않기 때문에 실행 x
continue
if count == 10: # 현재 count 값 (6) 은 if 조건에 부합하지 않기 때문에 실행 x
break
print(count) # 현재 count 값 (6) 출력
>>
1
2
3
4
6
[7]
# 현재 count의 값 : 6
count = 6
while True: # 조건이 참이기 때문에 아래 소스 실행
count = 6 + 1 # 현재 count 값 (6) 에 + 1 -> count 값 : 7
if count == 5: # 현재 count 값 (7) 은 if 조건에 부합하지 않기 때문에 실행 x
continue
if count == 10: # 현재 count 값 (7) 은 if 조건에 부합하지 않기 때문에 실행 x
break
print(count) # 현재 count 값 (7) 출력
>>
1
2
3
4
6
7
[8]
# 현재 count의 값 : 7
count = 7
while True: # 조건이 참이기 때문에 아래 소스 실행
count = 7 + 1 # 현재 count 값 (7) 에 + 1 -> count 값 : 8
if count == 5: # 현재 count 값 (8) 은 if 조건에 부합하지 않기 때문에 실행 x
continue
if count == 10: # 현재 count 값 (8) 은 if 조건에 부합하지 않기 때문에 실행 x
break
print(count) # 현재 count 값 (8) 출력
>>
1
2
3
4
6
7
8
[9]
# 현재 count의 값 : 8
count = 8
while True: # 조건이 참이기 때문에 아래 소스 실행
count = 8 + 1 # 현재 count 값 (8) 에 + 1 -> count 값 : 9
if count == 5: # 현재 count 값 (9) 은 if 조건에 부합하지 않기 때문에 실행 x
continue
if count == 10: # 현재 count 값 (9) 은 if 조건에 부합하지 않기 때문에 실행 x
break
print(count) # 현재 count 값 (9) 출력
>>
1
2
3
4
6
7
8
9
[10]
# 현재 count의 값 : 9
count = 9
while True: # 조건이 참이기 때문에 아래 소스 실행
count = 9 + 1 # 현재 count 값 (9) 에 + 1 -> count 값 : 10
if count == 5: # 현재 count 값 (10) 은 if 조건에 부합하지 않기 때문에 실행 x
continue
if count == 10: # 현재 count 값 (10) 은 if 조건에 부합되기 때문에 if문 실행
break -> 반복문 탈출 (더 이상 반복문 실행하지 x)
-> print 문은 반복문 안에 포함되기 때문에 실행 x
print(count)
>>
1
2
3
4
6
7
8
9
'프로그래밍 > Python' 카테고리의 다른 글
[기초] 함수 Definition (1) | 2023.03.05 |
---|---|
[기초] for문 (반복문) (0) | 2023.03.05 |
[기초] if문 (조건문) (0) | 2023.03.05 |
[기초] 집합 과 불 (0) | 2023.03.05 |
[기초] 딕셔너리 Dictionary (0) | 2023.03.05 |