'제어문'에 해당되는 글 1건

  1. 2012.11.25 Python 제어문(if, for, while)

if 문

- if 문을 조건문이라고 한다. 어떤 조건에 맞으면 문들을 수행하고 그렇지 않으면 건너뛴다.


※ C / C++ 의 형식과 똑같다. 단지 else if가 elif로 바뀐 것 뿐.


if문의 일반적인 형식.

if 조건식1:

<문들1>

elif 조건식2:

<문들2>

else:

<문들3>

조건식 1이 참이면 <문들1>이 수행, 그렇지 않으면 조건식2를 검사해서 참이면 <문들2>가 수행된다. 그렇지 않으면 <문들3>이 수행된다.


주의할 점은 조건식이나 else 다음에 콜론( : )을 잊지 말고 입력해야 한다. 

콜론( : )은 다음 문들이 현재의 문 내부 블럭에 속한다는 것을 알려준다. (if, for, while 제어문들과 def, class와 같이 내부 블럭을 가지는 문들에서만 콜론이 사용된다.)


여기서 if-elif-else 는 줄(열)이 잘 맞아야 한다. 그렇지 않으면 에러가 발생한다. 또한, 문들도 줄이 일정하게 맞아야 한다.


선택문에 있어서 때로는 사전을 이용하는 것이 더 편할 때도 있다. if문을 이용한 것과 사전을 이용한 것과 동일한 결과를 보여준다.






for 문

- foreach 문하고 상당히 비슷하다.

for <타겟> in <객체>:

<문1>

else:

<문2>

<객체>는 시퀀스 형 자료여야 한다. <객체>의 각 항목은 <타겟>에 치환되어 <문1> 혹은 <문2>를 수행한다. 반복 횟수는 <객체>의 크기가 된다.


※ for문을 이용할 때, 요소의 값 뿐 아니라 인덱스 값도 함께 필요하다면 enumerate() 내장 함수를 이용하면 좋다.

enumerate() 내장 함수는 (인덱스, 요소 값) 튜플 자료를 반복적으로 넘겨준다. 즉, iterate 한다.


ex) enumerate() 활용 예제.



for문의 else

for 문에서 else 블록은 for 문이 break 문으로 중단됨 없이 종료했을 때 수행된다. 







while 문

- for 보다 일반적인 반복 제어문이다. 헤더 부분의 조건식 테스트 결과가 참인동안 내부의 블록은 반복적으로 수행된다. 

else 부분은 조건식이 거짓이 되어 while 문을 빠져나올 때 수행된다. break로 빠져나올 때는 else 블록을 수행하지 않는다.

while <조건식>:

<문1>

else:

<문2>



Posted by scii
: