목차
파이썬의 반복문의 흐름을 필요에 따라 끊고, 종료하거나 건너뛰어야 합니다. for loop 또는 while loop는 주어진 조건이 실패할 때까지 반복됩니다. 중단(break) 또는 계속(continue) 문을 사용한다면 반복문의 흐름이 정상적인 방식으로 변경될 것입니다.
3.2 파이썬 for 와 loop : Enumerate, Break, Continue 구문
Loop 란 무엇입니까? 파이썬의 루프는 특정 조건이 충족될 때까지 코드 횟수 블록을 반복 실행할 수 있습니다. For loop, while loop, dowhile 등이 있는 다른 프로그래밍 언어와 달리 그들의 사용법은 프
www.entity.co.kr
앞의 글에서 봤겠지만 루프의 개면음 거의 모든 프로그램 언어에 제공됩니다.
파이썬의 반복문은 리스트, 튜플, 문자열, 딕셔너리등을반복하는데 도움이 됩니다.
파이썬 break 문
파이썬의 중단(break)문은 반복문을 종료하는 것을 처리합니다.
중첩된 반복문(중첩 루프) 내부에서 중단 문이 사용되는 경우 현재 반복문이 종료되고 반복문 다음에 오는 코드로 흐름이 계속됩니다.
Break문의 반복문 순서도는 아래와 같습니다.
순서도의 설명
Step 1)
반복문이 실행됩니다.
Step 2)
반복문의 조건이 True면 반복문이 실행되는 Step2를 실행합니다.
Step 3)
반복문에 중단문(Break)이 있으면 반복문을 빠져나옵니다.
Step 4)
반복문이 실행되고 완료되면 다시 반복을 진행합니다.
Step 5)
반복문 조건이 false인 경우 반복문을 빠져나옵니다.
반복문의 계속 실행(continue)
for ~ loop 문이 시작되면 조건문(if)을 확인합니다.
참(true)이면 중단문이 실행되고 for ~ loop 문이 종료됩니다.
조건문이 거짓(false)이면 반복문의 내부 코드가 실행됩니다.
while loop가 실행되면 조건문(if)을 확인하고, 참(true)이면 중단문이 실행되고 while loop가 종료됩니다.
조건이 거짓(false)인 동안 반복문의 내부 코드가 실행됩니다.
예) for ~ loop문에서의 중단(break) 문 예제
['Siya', 'Tiya', 'Cito', 'Daksh', 'Riya', 'Cito']로 구성된 리스트(my_list)는 루프를 사용하여 반복됩니다. 우리는 목록에서 'Cito'라는 이름을 검색하려고 합니다.
for ~ loop 내부에서 if 조건은 my_list의 요소를 'Cito'라는 이름과 비교합니다. 조건이 참(true)이면 중단문이 실행되고 반복문이 종료됩니다.
중단문(break)을 사용하는 코드는 아래와 같습니다.
my_list = ['Siya', 'Tiya', 'Cito', 'Daksh', 'Riya', 'Cito']
for i in range(len(my_list)):
print(my_list[i])
if my_list[i] == 'Cito':
print('Found the name Cito')
break
print('After break statement')
print('Loop is Terminated')
결과:
Siya
Tiya
Cito
Found the name Cito
Loop is Terminated
예) while ~ loop문에서의 중단(break) 문 예제
my_list = ['Siya', 'Tiya', 'Cito', 'Daksh', 'Riya', 'Cito']
i = 0
while True:
print(my_list[i])
if (my_list[i] == 'Cito'):
print('Found the name Cito')
break
print('After break statement')
i += 1
print('After while-loop exit')
결과 :
Siya
Tiya
Cito
Found name Cito
After while-loop exit
예) while ~ loop문에서의 중단(break)문 예제
예제에 2개의 반복문이 있습니다. 두 개의 반복문 모두 0에서 3까지 반복됩니다. 두 번째 반복문에서 두번째 루프 인덱스 값이 2인 경우 중단해야 하는 조건을 추가했습니다.
따라서 중단문 때문에 두 번째 루프는 2와 3에 대해서 반복되지 않습니다.
for i in range(4):
for j in range(4):
if j==2:
break
print("The number is ",i,j);
결과:
The number is 0 0
The number is 0 1
The number is 1 0
The number is 1 1
The number is 2 0
The number is 2 1
The number is 3 0
The number is 3 1
파이썬의 계속 문(continue)
계속 문(continue)은 다음에 오는 코드를 건너뛰고 컨트롤이 다음 반복의 시작으로 다시 전달됩니다.
계속 문의 흐름
Step 1)
반복문이 실행됩니다.
Step 2)
루프 내부의 코드 실행이 수행됩니다. 루프 내부에 계속 문이 있는 경우 컨트롤은 다음 반복에 대한 루프의 시작과 같은 Step 4로 돌아갑니다.
Step 3)
루프 내부의 코드 실행이 수행됩니다.
Step 4)
계속 문이 있거나 본문 내부에 루프 실행이 완료되면 다음 반복이라고 합니다.
Step 5)
루프 실행이 완료되면 루프가 종료되어 Step 7로 이동합니다.
Step 6)
Step 1의 루프 상태가 실패하면 루프를 종료하고 Step 7로 이동합니다.
Step 7)
루프의 끝입니다.
명령문 실행 중 continu의 흐름
for ~ loop는 주어진 배열 my_list를 반복합니다. 대 루프 내부에서 조건문(if)이 실행됩니다. 조건이 참(true)이면 계속(continu) 문이 실행되고 컨트롤이 다음 반복에 대한 루프의 시작으로 전달됩니다.
코드의 흐름은 아래와 같습니다.
while ~ loop 가 실행되면 조건문(if)이 참(true)인 경우 계속 실행됩니다. 컨트롤은 다음 반복에 대한 while ~ loop의 시작으로 돌아갑니다. 조건이 false인 동안 루프 내부의 코드가 실행됩니다.
코드의 흐름은 아래와 같습니다.
예 : for ~ loop에서의 continu
for i in range(10):
if i == 7:
continue
print("The Number is :" , i)
결과 :
The Number is : 0
The Number is : 1
The Number is : 2
The Number is : 3
The Number is : 4
The Number is : 5
The Number is : 6
The Number is : 8
The Number is : 9
예 : while ~ loop 에서의 continu
i = 0
while i <= 10:
if i == 7:
i += 1
continue
print("The Number is :" , i)
i += 1
결과 :
The Number is : 0
The Number is : 1
The Number is : 2
The Number is : 3
The Number is : 4
The Number is : 5
The Number is : 6
The Number is : 8
The Number is : 9
The Number is : 10
예: 중첩 루프에서의 continu
아래 예제에서는 2개의 반복문이 중첩되어 있습니다. for ~ loop 둘 다 0에서 3까지 반복됩니다. 두 번째 루프에서 두 번째 루프 인덱스 값이 2인 경우계속 진행(continu)하는 조건이 있습니다. 따라서 계속 문 으로 인해 두 번째 for ~ loop 2에 대한 반복을 건너뛰고 3으로 진행합니다.
for i in range(4):
for j in range(4):
if j==2:
continue
print("The number is ",i,j);
결과:
The number is 0 0
The number is 0 1
The number is 0 3
The number is 1 0
The number is 1 1
The number is 1 3
The number is 2 0
The number is 2 1
The number is 2 3
The number is 3 0
The number is 3 1
The number is 3 3
파이썬의 pass문
Python의 pass 문은 나중에 구현될 예정인 루프, 함수, 클래스, if-문 내부의 자리 표시자로 사용됩니다.
파이썬의 패스 문은 무엇입니까?
파이썬 패스는 null 문입니다. 파이썬 인터프리터가 패스 문을 가로질러 오면 아무것도 하지 않으며 무시됩니다.
패스 문을 사용할 시기는 언제입니까?
본문이 비어 있는 함수나 클래스가 있다고 생각해 보십시오. 나중에 코드를 작성할 계획입니다. 파이썬 인터프리터는 빈 본문에 걸쳐 오는 경우 오류를 던집니다.
함수 또는 클래스의 본문 내부에 주석을 추가할 수도 있지만 인터프리터는 주석을 무시하고 오류를 throw 합니다.
패스 문은 함수 또는 클래스 본문의 본문 내부에 사용할 수 있습니다. 실행 중에 통역사는 패스 문을 가로질러 올 때 오류를 주지 않고 무시하고 계속됩니다.
예: 함수 내부의 pass
이 예제에서는 패스가 함수 내부에 추가됩니다. 함수가 아래와 같이 호출될 때 실행됩니다.
def my_func():
print('pass inside function')
pass
my_func()
결과:
pass inside function
예: 클래스 내부의 pass
아래 예제에서는 인쇄 문이 있는 빈 클래스와 패스 문만 만들었습니다. 패스 문은 클래스 "My_Class" 내부의 코드가 나중에 구현될 것임을 나타냅니다.
classMy_Class:
print("Inside My_Class")
pass
결과:
Inside My_Class
예: 루프 내부의 pass
아래 예제에서는 문자열 'Cito'가 루프 용 루프 내부에 사용됩니다. 조건이 문자 't'을 확인하고 인쇄 문을 호출한 다음 통과합니다.
# Pass statement in for-loop
test = "Cito"
for i in test:
if i == 't':
print('Pass executed')
pass
print(i)
결과:
C
i
Pass executed
t
o
예 : if-loop 내부의 pass
이 예제에서 if 루프는 a값에 대해 확인하고 조건이 true인 경우 "pass executed"라는 문과 전달을 인쇄합니다.
a=1
if a==1:
print('pass executed')
pass
결과:
pass executed
언제 break문과 continu문을 사용할 수 있습니까?
- 루프 내에서 사용할 때 중단(break) 문은 루프를 종료하고 종료합니다. 중첩 루프 내부에 사용하면 현재 루프에서 분리됩니다.
- 계속(continu) 문은 루프 내에서 사용할 때 현재 실행을 중지하고 컨트롤은 루프의 시작으로 돌아갑니다.
중단 문과 계속 문 간의 주요 차이점은 중단 키워드가 발생하면 루프를 종료한다는 것입니다.
계속 키워드의 경우 실행 중인 현재 반복이 중지되고 다음 반복으로 진행됩니다.
요약:
- 파이썬 break 및 continu는 루프 내부에 사용되어 루프의 흐름을 정상 절차에서 변경합니다.
- for loop 또는 while loop는 주어진 조건이 실패할 때까지 반복됩니다. 중단 또는 계속 문을 사용하면 루프의 흐름이 정상적인 방식으로 변경됩니다.
- 루프 내에서 사용할 때 중단(break) 문은 루프를 종료하고 종료합니다. 중첩 루프 내부에 사용하면 현재 루프에서 분리됩니다.
- 루프 내에서 사용할 때 계속(continu) 문은 현재 실행을 중지하고 컨트롤이 루프의 시작으로 돌아갑니다.
- 중단(break) 문과 계속(continu) 문 간의 주요 차이점은 중단(break) 키워드가 발생하면 루프를 종료한다는 것입니다.
- 파이썬 pass 문은 나중에 구현될 예정인 루프, 함수, 클래스, if-문 내부의 자리 표시자로 사용됩니다.
- 파이썬 pass는 null 문입니다. 실행이 시작되고 인터프리터가 패스 문을 가로질러 오면 아무것도 하지 않으며 무시됩니다.
'초보자를 위한 Python > 3. Python 조건문(if) 반복문(Loops)' 카테고리의 다른 글
3.4 파이썬 OOPs: 예제가 있는 클래스, 객체, 상속 및 생성자 (0) | 2021.12.22 |
---|---|
3.2 파이썬 for 와 loop : Enumerate, Break, Continue 구문 (0) | 2021.07.01 |
3.1 파이썬 조건부 문: IF... Else, ELIF 및 Switch Case (0) | 2021.06.23 |
댓글