👉🏻 조건문
- 조건문은 프로그램의 흐름을 제어하는 문법이다
- 조건문을 이용해 조건에 따라서 프로그램의 로직을 설정할 수 있다.
- 대부분의 프로그램에서 필수적으로 사용되고 있다
- 어떤 변수에 들어있는 값에 따라 서로 다른 로직을 수행할 때 효과적
- 조건문에 비교 연산자를 넣어준다
- 참(True)값을 가질 때만 if(조건문)이래 있는 (들여쓰기가 되어 있는) 코드가 실행된다.
🧩 들여쓰기
- 파이썬에서는 코드의 블록(Block)을 들여쓰기(Indent)로 지정한다.
- 다음 코드에서 2번 라인은 무조건 실행된다
- 블록: 특정 기능을 수행하기 위한 한 단위의 코드 묶음
- 같은 들여쓰기를 가지는 부분이 연달아 실행되는 것
- '프로그램을 종료합니다'부분은 들여쓰기가 적용되어있지 않기 때문에 무조건 실행된다.
- 탭을 사용하는 쪽과 공백 문자(space)를 여러 번 사용하는 쪽으로 두 진영이 있다.
- 이에 대한 논쟁은 지금까지도 활발하다
- 파이썬 스타일 가이드라인에서는 4개의 공백 문자를 사용하는 것을 표준으로 설정하고 있다.
🧩 조건문의 기본 형태
- 조건문의 기본적인 형태는 if ~ elif ~ else이다.
- 조건문을 사용할 때 elif 혹은 else 부분은 경우에 따라서 사용하지 않아도 된다.
- 다른 언어에서는 else if라고 씀
🎮 성적 구간에 따른 학점 출력 예제
- 성적이 90점 이상일 때: A
- 성적이 90점 미만, 80점 이상일 때: B
- 90점 이상인지를 먼저 체크하고 그렇지 않은 것들만 내려왔기 때문에 90점 미만은 명시해주지 않아도 자동으로 적용
- 성적이 80점 미만, 70점 이상일 때: C
- 정석이 70점 미만일 때: F
🧩 비교 연산자
- 비교 연산자는 특정한 두 값을 비교할 때 이용할 수 있다.
- 대입 연산자(=)와 같음 연산자(==)의 차이점에 유의하기
🧩 논리 연산자
- 논리 연산자는 논리 값(True/False) 사이의 연산을 수행할 때 사용한다.
- 다른 언어에서는 !, && 등을 사용하지만 파이썬은 단어를 입력하여 직관적이다.
* or
- 둘 중 하나 이상이 True 값을 가지기 때문에 Yes가 출력되었다
* and
- 둘 다 True값을 가져야 Yes가 출력되는데 하나가 True가 아니기 때문에 아무것도 출력되지 않는다
🧩 파이썬의 기타 연산자
- 다수의 데이터를 담는 자료형을 위해 in 연산자와 not in 연산자가 제공된다.
- 리스트, 튜플, 문자열, 딕셔너리 모두에서 사용이 가능하다
- 단순히 어딘가에 포함되어 있는지 포함되어 있지 않은지 체크하기 위해
🧩 파이썬의 pass 키워드
- 아무것도 처리하고 싶지 않을 때 pass 키워드를 사용한다.
- Ex. 디버깅 과정에서 일단 조건문의 형태만 만들어 놓고 조건문을 처리하는 부분은 비워놓고 싶은 경우
- 특정한 소스코드 라인을 아무것도 처리하지 않고 넘어가고 싶을 때
- 디버깅 과정(= 어떠한 프로그램 동작을 검증하는 과정)에서 많이 사용
- 아무 내용도 적지 않으면 오류가 난다
🧩 조건문의 간소화
- 조건문에서 실행될 소스코드가 한 줄인 경우, 굳이 줄 바꿈을 하지 않고도 간략하게 표현할 수 있다.
- 조건부 표현식(Conditional Expression)은 if ~ else 문을 한 줄에 작서알 수 있도록 해준다.
- if가 중간에 들어간다
- 참일 때 왼쪽, 거짓일 때 오른쪽이 실행된다
🧩 파이썬 조건문 내에서의 부등식
- 다른 프로그래밍 언어와 다르게 파이썬은 조건문 안에서 수학의 부등식을 그대로 사용할 수 있다.
- Ex. x > 0 and x < 20 과 0 < x < 20은 같은 결과를 반환한다
- 같은 결과를 반환한다.
* C언어로 했을 경우
- 논리식이 항상 참이라 25를 넣어도 0 ~ 20 사이의 수라고 나온다
- 다른 언어에서는 조건 연산자가 반복되어 사용되면 순차적으로 처리한다
- 먼저 0 < x 를 판단 → True = 1
- 1 < 20을 판단 → True
- 그래서 항상 True
👉🏻 반복문
- 특정한 소스코드를 반복적으로 실행하고자 할 때 사용하는 문법이다
- 파이썬에서는 while문과 for문이 있는데, 어떤 것을 사용해도 상관 없다
- 다만 코딩 테스트에서의 실제 사용 예시를 확인해보면 for문이 더 간결한 경우가 많다
✅ while문
- 특정 조건을 만족할 때 어떤 코드를 실행하고자할 때
- i의 값을 증가시켜주어 1 → 2 → ... 9까지 늘어남
- 10이 되면 반복문을 벗어남
- 홀수일 때만 result에 더해줌
🧩 반복문에서의 무한 루프
- 무한 루프(Infinite Loop)란 끊임없이 반복되는 반복 구문을 의미한다
- 코딩 테스트에서 무한 루프를 구현할 일은 거의 없으니 유의해야 한다
- 반복문을 작성한 뒤에는 항상 반복문을 탈출할 수 있는지 확인해야 한다
- x를 증가시키거나 감소시키는 구문이 전혀 없음
🧩 반복문: for문
- 반복문으로 for문을 이용할 수도 있다
- for문의 구조는 다음과 같은데, 특정한 변수를 이용하여 'in'뒤에 오는 데이터(리스트, 튜플 등)에 포함되어 있는 원소를 첫 번째 인덱스부터 차례대로 하나씩 방문한다
- for문에서 연속적인 값을 차례대로 순회할 때는 range()를 주로 사용한다
- 이때 range(시작 값, 끝 값 +1) 형태로 사용한다
- 인자를 하나만 넣으면 자동으로 시작 값은 0이 된다
🧩 파이썬의 continue 키워드
- 반복문에서 남은 코드의 실행을 건너뛰고, 다음 반복을 진행하고자 할 때 continue를 사용한다
- 1부터 9까지의 홀수의 합을 구할 때 다음과 같이 작성할 수 있다.
- 짝수일 때는 건너뛰고 홀수일 때만 해당 값을 result에 더해주는 것
🧩 파이썬의 break 키워드
- 반복문을 즉시 탈출하고자 할 때 break를 사용한다
- 1부터 5까지의 정수를 차례대로 출력하고자 할 때 다음과 같이 작성할 수 있다
🎮 학생들의 합격 여부 판단 예제 1) 점수가 80점만 넘으면 합격
🎮 학생들의 합격 여부 판단 예제 2) 특정 번호의 학생은 제외하기
🎮 중첩된 반복문: 구구단 예제
출처: https://youtu.be/PCJOT5LHzxE?si=eHhrr4_6ijmn9aC5
https://youtu.be/x7dIUaefI0A?si=D1eelNw-K-1O6Hem
'Python > 이것이코딩테스트다with파이썬' 카테고리의 다른 글
11강 :: 자주 사용되는 표준 라이브러리 (2) | 2023.11.09 |
---|---|
10강 :: 함수와 람다 표현식 (0) | 2023.11.07 |
7강 :: 기본 입출력 (0) | 2023.11.02 |
5~6강 :: 문자열, 튜플 자료형, 사전, 집합 자료형 (0) | 2023.11.01 |
4강 파이썬 문법: 리스트 자료형 (0) | 2023.09.27 |