반응형
반응형

파이썬(python)은 다양한 제어문, 반복문을 사용해서 더욱더 쉽게 코드를 작성할 수 있습니다. 오늘은 파이썬(python)에서 자주 사용하는 제어문, 반복문을 알아보겠습니다.

if 문

파이썬(python)에서는 if문을 사용해서 변수를 확인할 수 있습니다. 기본적으로 if 문에서 정의된 내용을 기준으로 elif, else로 구분해서 코드 분기가 가능합니다. 파이썬(python)은 들여쓰기를 기준으로 컴파일되기 때문에 if문 사용 후 들여 쓰기가 적용되기 전까지 제어문으로 인식합니다.

value 값이 2로 입력 받아서 마지막 제어문 else를 실행한 결과입니다. 간단하게 매우 자주 사용하는 제어문입니다.

for 문

for 문은 배열에 저장된 순서로 루프를 돌면서 value 값을 확인할 수 있는 반복문입니다. 배열을 선언 후 특정 값으로 초기화하고 for을 사용했습니다.

출력 결과 words에 저장된 내용이 출력되는 것을 확인할 수 있습니다.

for문은 배열에 저장된 특정 키를 확인 후 복사 및 삭제가 가능합니다. sports 배열을 생성할 때 별도 키 값으로 현재 배열 상태를 구분합니다. copy() 메서드를 사용해서 items를 복사하고, status로 특정 키 값을 검색합니다. 특정 키와 status가 일치한다면 del 함수를 사용해서 sports에서 'inactive' 항목을 삭제합니다.

출력 결과 기존 항목에서 'invactive'가 삭제된 내용을 확인할 수 있습니다. 신규 배열을 선언하고, for 문을 사용해서 새로운 배열 생성도 가능합니다.

range

range는 파라메타(parameter)에 따라서 연속적인 내용을 리턴하는 함수입니다. 기본적으로 파라미터(patameter)에 입력된 내용을 기준으로 리턴하며, 두 번째 파라미터(patameter)를 사용할 경우, 첫 번째 파라미터(patameter)부터 두 번째 파라미터(patameter)까지 연속적인 내용을 리턴합니다. 세 번째 파라미터(patameter)를 사용할 경우 연속적인 내용 중에서 입력된 세 번째 파라미터(patameter)만큼 이동해서 값이 설정됩니다.

출력 결과 처음에는 연속적인 숫자이며, 두 번째는 설정 범위 내용을 출력하고, 세 번째는 증가분이 적용되는 것을 확인할 수 있습니다.

match 문

파이썬(python)에서는 match문을 사용할 수 있습니다. match문은 기존 C언어에서 사용하는 switch문과 동일한 구조로 사용 가능합니다. match문은 파이썬(python) 3.10 버전 이상부터 사용이 가능하기 때문에 match문을 사용하고 싶다면 파이썬(python) 버전을 최신 버전으로 변경해야 합니다. match 문은 기존 switch문과 동일하며 default 대신 '-'문자로 구분됩니다.

출력 결과 입력된 http_code가 없기 때문에 default로 선언된 "Code not fund"를 확인할 수 있습니다.

파이썬(python)은 다양한 제어문을 사용해서 코드를 작성할 수 있고 버전에 따라서 상이하기 때문에 사용하고 싶은 제어문 또는 반복문을 기능에서 확인 후 버전을 선택해주세요.

감사합니다.

반응형
반응형

오늘은 C언어에서 조건문과 함께 많이 사용되는 반복문에 대해서 알아보겠습니다.

반복문은 참, 거짓을 구분하면서 거짓일 경우 루프를 빠져나가는 형태를 말합니다.

C언어에서는 크게 for, while, do while 3가지가 있습니다.

첫번째 for에 대해서 알아보겠습니다.

for 문은 시작점, 종료점, 증가점 3개의 구문으로 구분됩니다.

시작점은 변수를 선언하고 초기합니다.

종료점은 '참,' '거짓'을 구분합니다.

마지막 증가점은 선언된 변수를 조건에 맞게 증가시킵니다.

 

 

 

fot 시퀀스는 사진 처럼 선언된 조건 식에 부합되지 않을 경우 루프를 빠져나갑니다.

즉 a < 10  조건식은 a가 10보다 클 경우 '거짓'으로 판단되는 겁니다.

#include <stdio.h>
#include <limits.h>

int main(void)
{
	
	for (int a = 0; a < 10; a++)
	{
		printf("\t카운트 = %d\n",a);
		printf("\n");
	}	
}

코드 내용은 0 ~ 9까지 카운트를 출력할 수 있습니다.

출력 결과는 아래와 같습니다.

for 시작점은 0에서 부터 a가 10보다 작은 9까지 확인하고 루프를 빠져나왔습니다.

#include <stdio.h>
#include <limits.h>

int main(void)
{
	
	for (int a = 0; a < 10; a++)
	{
		printf("\t카운트 = %d\n",a);
		for (int b = 0; b < 2; b++)
		{
			printf("\t카운트  친구 = %d\n", b + a);
		}
		printf("\n");
	}	
}

for 문 내부에 다시 for 문을 사용할 수 있습니다.

for 문은 연속으로 사용도 가능하지만 최대한 for 문 내부에서는 한번 정도만 사용해주세요.

for 문을 연속 3번 사용하게되면 연산 속도가 매우 느려지는 것을 확인할 수 있습니다.


두번째는 while문을 알아보겠습니다.

for문은 조건식을 확인하기 위해서 특정 개수 만큼만 동작을 합니다.

하지만, while문은 조건이 거짓일 때 까지 무한 반복합니다.

 

 

 

while문 다음에 오는 조건문이 '거짓'일 경우만 루프를 빠져 나갑니다.

조건문에 부합하지 않을 경우 무한으로 반복하기 때문에 메임 시퀀스에 많이 사용합니다.

처음 카운트 코드를 while문으로 변경해보겠습니다.

#include <stdio.h>
#include <limits.h>

int main(void)
{
	
	int a = 0;
	while (a < 10)
	{
		printf("\t while 카운트 = %d\n", a++);
		printf("\n");
	}

	return 0;
}

for문 보다 조금더 간결하게 코딩을 할 수 있습니다.

출력 결과는 기존과 동일합니다.

#include <stdio.h>
#include <limits.h>

int main(void)
{
	
	int a = 0;
	while (a < 10)
	{
		printf("\t while 카운트 = %d\n", ++a);
		printf("\n");
	}

	return 0;
}

위 코드는 내용은 동일하지만 a증가 "++"을 앞쪽에 사용했습니다.

 

 

 

출력 결과도 0이 아닌 1부터 출력이 됩니다.

여기서 확인해야할 내용은 "++" 증감연산자는 변수 앞에 올경우 변수를 확인 전 증감되어 계산됩니다.

"++" 증감연산자가 변수 뒤에 올 경우는 변수를 사용 후 증감 됩니다.

그래서 처음 출력 값이 0, 1로 변경되는 것을 알 수 있습니다.

"++" 증감 연산자는 중요한 연산자이기 때문에 꼭 기억해주세요.

반복문에서 루프를 그냥 빠져나오기 위해서는 'break'를 사용할 수 있습니다.

#include <stdio.h>
#include <limits.h>

int main(void)
{
	
	int a = 0;
	while (a < 10)
	{
		printf("\t while 카운트 = %d\n", ++a);
		printf("\n");

		if (a == 5)
		{
			printf("\t while 중지 = %d\n", ++a);
			printf("\n");
			break;
		}
	}

	return 0;
}

while문 내부에 if문을 사용해서 5일 경우 빠져나오게 코드를 적용했습니다.

출력 결과는 5다음 중지 했기 때문에 증감 연산자로 증가한 6이 출력되고 중단되는 것을 알수 있습니다.


세번째 do while문에 대해서 알아보겠습니다.

do while문while문을 사용할 경우 바로 빠져나오게 하면 루푸를 확인하지 않는 단점을 보안하기 위해서 사용하는 반복문입니다.

처음 do문 내부에서 로직을 확인하고 while문에서 참, 거짓을 판단합니다.

즉 1번은 무조건 실행되는 반복문입니다.

a변수에 100을 입력하고 다음 while문에서 a를 확인할 경우 거짓으로 판단되어 루프를 빠져 나옵니다.

시퀀스도 do문 실행 이후 while문과 동일하게 동작합니다.

#include <stdio.h>
#include <limits.h>

int main(void)
{
	
	int a = 100;
	do {
		printf("\t do 실행 카운트 = %d\n", a);
		printf("\n");
	} while (a < 10);
	printf("\t do while 종료 = %d\n", a);
	printf("\n");	

	return 0;
}

a 변수를 100으로 초기화 하면 while문에서는 거짓이지만 do문을 먼저 실행합니다.

출력 결과 한번만 출력하고 do while문을 빠져나오는 것을 확인할 수 있습니다.

정상적으로 모두 출력하기 위해서는 아래 코드 처럼해야 합니다.

#include <stdio.h>
#include <limits.h>

int main(void)
{
	
	int a = 0;
	do {
		printf("\t do 실행 카운트 = %d\n", a);
		printf("\n");
		a++;
	} while (a < 10);
	printf("\t do while 종료 = %d\n", a);
	printf("\n");	

	return 0;
}

a 변수를 0으로 초기화 할 경우 참이기 때문에 while문이 정상적으로 동작합니다.

 

 

 

출력 결과 조금 다른 내용을 확이할 수 있습니다.

while문에서는 9까지만 출력되었는데 do while문에서는 10까지 한번 더 출력됩니다.

조건식을 확인 전에 출력하기 때문에 무조건 한번을 더 확인해서 결과 값이 다르게 출력되었습니다.

while문, do while문은 미묘하지만 복잡한 시퀀스를 동작하기 위해서는 반드시 두 특징을 알고 있어야 합니다.

오늘은 C언어 반복문에 대해서 알아봤습니다.

감사합니다.

반응형

+ Recent posts