만약에 누가 10번 이상 만나자면 만날 거야?
위 문장은 제어문에 관한 개념이 모두 내포되어있습니다. 제어문이란 조건문, 반복문 등이 포함되어 있고, 프로그램의 흐름을 제어할 때 사용하는 실행문을 뜻합니다. '만약에 ~이면, ~이다.'는 '만약에'라는 뜻을 가진 IF문, 다른 말로는 조건문을 의미합니다. '10번 이상 만난다'는 내용은 한 사람이 다른 사람에게 10번 연락을 한다는 뜻으로서 10번, 즉 '특정 주기 동안 반복되는 행위'를 뜻하고, 이러한 것이 반복문입니다. 이번 포스팅에서는 조코딩님의 최신 파이썬 코딩 무료 강의의 3장 내용인 조건문과 반복문에 대해서 살펴보도록 하겠습니다.
조건문(if문)
조건문 이란,
컴퓨터에게 '만약에 ~면 ~하고, 아니면 ~하자.'라고 전달하는 말입니다.
장기하님의 '부럽지가 않아'를 살짝 변형해서 다른 사람의 돈이 내가 가진 돈보다 클 경우 부럽다를 표시해주는 조건문을 예시로 들어봅시다. (본래 가사에서는 부럽지가 않다고 했지만 저는 부럽기 때문에 😛)
- 일단 다른 사람이 가진 돈과 제가 가진 돈을 선언해주고, 그다음 둘의 크기를 비교합니다.
- 그 후, 만약 다른 사람 돈 > 내 돈일 경우는 참이 되고, 이때의 실행은 "부러워"를 출력하고,
- 내 돈이 더 클 경우에는 "부럽지가 않어"를 출력해주면 됩니다.

조건문을 만드는 방법에는 아래 사항처럼 여러 가지가 있습니다.
이렇게 조건문에서는 if 다음에 오는 것이 참이면 문장을 실행하고, 거짓이면 실행을 안 하게 되는데,
- 참/거짓을 표현하기 위해 이전 포스팅에서 배웠던 Boolean 자료형을 사용하게 되고, 비교 연산자 등을 이용해 여러 방법으로 조건을 걸 수 있습니다.
또한, if문을 한 줄로 간추릴 수 있습니다. (삼항 연산자)
- 변수 = "조건이 참일 경우 값" if 조건 else "거짓일 경우 값"
- message = "success" if score >= 60 else "failure"
조건이 여러 개인 경우에는요?

이렇게 조건이 1개인 경우도 있지만, 조건이 여러개인 경우도 있을 텐데요, 이럴 때는 elif를 써주면 됩니다.
따라서 if의 전체적인 구조는 좌측의 그림처럼 if - (elif) - (else)로 이루어져 있습니다.
참고로, elif는 개수의 제한이 없습니다.
BMI 계산을 예시로 들어보면, 몸무게(kg)를 키(m)의 제곱으로 나눈 값이 특정 값 범위에 있을 경우마다 카테고리가 달라집니다.
반복문 (While문, For문)
반복문 이란,
컴퓨터에게 '~동안 ~ 반복 실행시켜.'라고 전달하는 말입니다.
Python의 반복문은 while과 For문이 있습니다.
열 번 찍어 안넘어가는 나무없다고 하죠? 하지만 반복문을 위해 열번찍어 넘어가는 나무가 있다고 해볼게요.
- 일단, 나무 찍은 횟수를 0으로 하여 변수에 저장해둡니다.
- 그 후, 나무를 한번 찍어준 뒤, 찍은 횟수에 +1을 해줍니다.
- 변수에 저장해둔 값이 10번 이상인지 확인해줍니다.
- 10번 이상 찍을 때까지 2,3의 과정을 반복합니다.
- 10번 이상 찍은 경우에는 넘어갔다는 의미로 "🪵"를 출력해줍니다.

Python의 반복문은 While과 For문이 있습니다.
1. While문

- 조건이 true라면 계속해서 반복시키는 반복문으로서, 무한 루프를 생성할 수 있습니다.
- break를 통해 while문을 빠져나올 수 있도록 해줘야 합니다.
- continue를 통해 다음 문장을 실행시키지 않고, 다시 While문의 맨 처음으로 돌아가게 해 줄 수 있습니다.
2. For문

- 범위 안의 값을 한 개씩 빼내며 반복하는 구조입니다.
- 범위는 리스트, 튜플, 문자열이 가능합니다.
- continue를 통해 다음 문장을 실행시키지 않고, 다시 For문의 맨 처음으로 돌아가게 해 줄 수 있습니다.
- if mark < 60 : continue처럼 한 줄로 표현이 가능합니다.
- range(이상, 미만) 함수와 많이 사용됩니다.
- List comprehension : 대괄호 사이에 for문, 조건문 등을 사용하여 간결하게 List를 만들 수 있게(append) 해주는 기능

이 글은 유튜브에 게시된 조코딩님의 '최신 파이썬 코딩 무료 강의'를 듣고, 요약하고, 공부하며 기록한 포스팅입니다. 댓글로 언제든지 소통 부탁드립니다. 🤗
'Data Scientist > Python' 카테고리의 다른 글
| 모듈, 패키지, 라이브러리, 프레임워크 그만!!!! (조코딩 - 모듈, 패키지) (0) | 2022.09.14 |
|---|---|
| 웁스...? 수업...? (조코딩 - OOP & Class) (5) | 2022.09.09 |
| 파이썬, 너 쫌 하네? (조코딩 - Python 입출력 & 파일 함수) (0) | 2022.09.08 |
| 계산기 쓸래? 함수 쓸래? (조코딩 - Python 함수) (0) | 2022.09.07 |
| 어느형? 자료형! (조코딩 - Python 자료형) (2) | 2022.09.05 |