본문 바로가기
프로그래밍/파이썬기초

순차구조, for반복문(feat. range()함수)_파이썬 기초

by 조크리 2021. 3. 16.
반응형

 

파이썬 찐초보 4번째 글이다.

 

오늘의 목표는

 

1) 순차구조

2) 관계연산자 

3) 반복구조(for문)

 

에 대해 알아볼 예정이다.

 

 

1. 제어의 흐름이란?

 

제어흐름이란 컴퓨터에게 지시하는 명령의 순서를 정리한 것을 말한다. 

 

기본적으로 순차, 선택, 반복 구조가 있는데

 

이 기초를 초등학교 소프트웨어 교육 시간부터 배우게 된다. 

 

먼저 순차는 명령어의 순서를 정하는 것을 의미한다. 

i에 1을 넣고, j에 2를 넣고, sum에는 i+j를 넣고

그 다음에 sum을 출력하는 코드를 쓴다고 하면

 

i와 j변수를 선언하는 것은 크게 순서가 중요하지 않지만

sum 변수를 선언하는 것은 i와 j를 선언하고 난 뒤에 해야하며

print(sum)도 sum이라는 변수를 만들고 써주어야한다. 

#순차

i = 1
j = 2
sum = i + j
print(sum)

 

선택은 어떠한 조건을 만족시키는 경우를 말한다. 

주로 if문을 사용한다. 

 

반복은 어떤 조건을 만족할 때 까지 코드를 반복해주는 것을 말한다.

파이썬에서는 for문과 while문이 반복문에 해당한다. 

 

 

2. 순차구조

 

순차 구조를 이해하기 위해 1부터 10까지의 합을 구하는 방식을 생각해보자

 

1 + 2 + 3 + 4 + 5 + ... + 10 

 

이렇게 수학적인 방법을 벗어나서

 

좀 더 컴퓨터의 계산 원리에 가깝게 생각해보면 

 

sum이라는 변수를 하나 만들고 그 초기값을 0으로 설정해준 뒤

sum이라는 변수에 1을 더해주고 

1이 더해진 sum이라는 변수에 2를 더해주고

2가 더해진 sum이라는 변수에 3을 더해주고

....

9가 더해진 sum이라는 변수에10을 더해주는 

 

이런 방식을 코드로 적을 수 있다. 

 

아래의 그림은 해당 방식을 적용하여 3까지만 더해본 그림이다. 

 

하지만...

1부터 10까지도 이렇게 쓰기가 귀찮은데...

1부터 100이라면? 1000이라면? 10000이라면?

 

이런 방식으로는 도저히 쓸 수 없다. 

 

이 때 필요한 것이 바로 반복문~!

 

 

3. 반복구조

 

 

반복문의 경우 for문과 while문으로 나누어진다. 

 

for문은

특정 조건을 만족하는 범위 내에 있을 때 같은 일을 계속 수행하는 반복문을 의미한다. 

 

아래의 코드를 보면

일단 문장1이 실행되고 

변수가 범위 내에 있는 동안 명령어들이 시행된다.

변수가 범위를 벗어나면 문장3이 실행된다. 

문장1
for 변수 in 범위:
	명령어들
문장3

 

흠...말로 설명하면 너무 어렵고 ㅠㅠ 

플로우 차트를 보면서 이해하는 것이 좋다. 

아래의 그림처럼 조건을 만족하는 범위 내에서 계속 문장이 실행되고 조건을 벗어나면 다음 문장이 실행된다. 

출처 : https://t1.daumcdn.net/cfile/tistory/2443C03558216A152F

 

4. range()를 활용해보자

 

input()함수처럼 파이썬에서는 range()라는 함수가 있다.

 

range(10) 이렇게 괄호 안에 숫자를 쓰면 0부터 9까지의 범위를 말하고

range(1,10) 이렇게 처음 값과 끝 값을 쓰면 1부터 9까지의 범위를 말한다.

range(1,10,2)이렇게 처음 값과 끝 값, 변화 값을 써주면 1,3,5,7,9의 범위를 말한다. 

range(10, 2, -2) 라고 쓰면 어떨까? 10, 8, 6, 4 의 범위를 의미하게 된다. 

 

즉, range는 처음 값과 끝 값이 쓰여있는 경우 처음 값 부터 끝 값 -1 까지의 범위가 형성되며

처음 값이 안 써져 있는 경우에는 0부터 끝 값-1 까지가 범위가 된다.

 

 

그럼 for문과 range()를 활용하여 1부터 10까지의 합을 구하는 코드를 써보자!

 

sum = 0 
for i in range(1, 11):
	sum = sum + i 
print(sum)

 

이제 이 코드를 활용하면 1부터 1000까지이든, 1부터 5만 까지이든 코드 4줄로 계산을 끝낼 수 있따~!

 

어디까지이든 계산 가능!

 

5. 관계연산자 

 

>, <, <=, >=, ==, !=

 

관계연산자는 수학에서의 관계 연산자와 비슷하다.

 

34 > 36 결과는 True

35 < 34 결과는 False

35 <= 35 결과는 True 

36 >= 66 결과는 False

 

처럼 수학에서 ~보다 크다, ~보다 작다, ~보다 작거나 같다, ~보다 같거다 크다 에 해당되는 표현들을

이렇게 써준다. 

 

단 수학에서는 같다의 표현을 = 으로 쓴다면 코드에서는 == 라고 써준다.

그리고 같지 않다는 != 라고 써준다. 

 

36 = 36 True

36 != 36 False 

 

이렇게 나오게 된다! 

 

my_age와 your_age를 비교하는 아래의 코드를 살펴보면 좀 더 이해가 수월하다.

 

 

6. 관계연산자의 우선순위

 

관계 연산자의 우선순위를 살펴보면

 

>. >=, <. <=, ==, != 가 제일 낮고

그 다음으로 +, -

그 다음으로 *, /, %

그 다음으로 ( ) 가 제일 높다.

 

즉 숫자 연산처럼 괄호 (   )가 우선순위가 제일 높다. 

 

 

오늘의 목표 

 

순차구조, 관계연산자, for반복문 정리 완료~!

 

다음 글에서는 While 반복문에 대해 정리해보려 한다!

 

반응형