파이썬 찐초보 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
흠...말로 설명하면 너무 어렵고 ㅠㅠ
플로우 차트를 보면서 이해하는 것이 좋다.
아래의 그림처럼 조건을 만족하는 범위 내에서 계속 문장이 실행되고 조건을 벗어나면 다음 문장이 실행된다.
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 반복문에 대해 정리해보려 한다!
'프로그래밍 > 파이썬기초' 카테고리의 다른 글
if조건문, 홀수짝수 판별, 약수구하기_파이썬 기초 (0) | 2021.03.18 |
---|---|
while 반복문_파이썬 기초 (0) | 2021.03.17 |
연산자와 수식_파이썬 기초 (0) | 2021.03.15 |
변수, input()활용하기_파이썬 기초 (0) | 2021.03.11 |
파이썬 설치 , 값 출력해보기_파이썬 기초 (0) | 2021.03.11 |