| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- 코딩테스트준비
- 꿀단집
- mongoDB
- 코드잇
- CSS
- 프로그래머스
- Azure
- 코딩테스트
- 오픈소스기반데이터분석
- 방송대
- 방송대컴퓨터과학과
- 중간이들
- aws
- HTML
- 파이썬프로그래밍기초
- nestjs
- 개발자취업
- 파이썬
- 유노코딩
- node.js
- 데이터베이스시스템
- 항해99
- 클라우드컴퓨팅
- Git
- 엘리스sw트랙
- JavaScript
- Python
- 99클럽
- redis
- TiL
- Today
- Total
배꼽파지 않도록 잘 개발해요
방송대 파이썬 프로그래밍 기초 - 6강. 선택구조 본문

1. 선택구조
선택 구조의 개념
• 특정 영역 내의 명령문에 대한 실행 여부를 판단에 따라 결정하는 구조
• 실행 여부는 조건에 따라 결정됨.
ex. 공정을 거친 제품이 정상이면 배송, 불량이면 재생 후 배송
선택 구조의 구문 형식
| 구문형식 | 실행 흐름 |
![]() |
![]() |
• 들여쓰기는 코드 블록을 표현
• 코드 블록 : 특정 동작을 수행하는 한 라인 이상의 명령문의 집합
• 같은 코드 블록에 해당되면, 같은 칸수 만큼의 들여쓰기를 해야됨.
• 들여쓰기는 스페이스 4칸 (Tap X) 권고(PEP-8)
불리언식
• 비교연산자를 사용하여 결과가 불리언 타입으로 생성되는 표현식
| 연산자 | 수학적 표현 | 의미 |
| < | < | 작다 |
| <= | ≤ | 작거나 같다 |
| > | > | 크다 |
| >= | ≥ | 크거나 같다 |
| == | = | 같다 |
| != | ≠ | 같지 않다 |

불리언 타입
• 논리값인 참(True)와 거짓(False)의 값만 표현할 수 있는 데이터 타입
- True 또는 False 예약어를 사용하여 표현 (T와 F는 무조건 대문자)
- 비교 연산자를 사용한 표현식의 결과로 생성
• George Boole(조지 부울)의 이름을 따서 만들어짐.
2. 논리연산자
논리연산자의 개념
• 참, 거짓을 구별할 수 있는 명제를 대상으로 명제의 집합을 위해 고안한 연산자
• 두개의 논리값(불리언식)을 연산하여 참 또는 거짓을 결과로 얻는 연산자
→ 여러 개의 명제를 서로 결합할 때 사용하는 것이 논리연산자
• 두 개의 피연산자를 갖는 이항 연산자
• and(논리곱), or(논리합), not(논리부정) 연산자 사용
• 왼쪽에서 오른쪽의 방향으로 결합
and
• 두 논리값이 모두 True일 때 True이고 어느 하나 False일 경우 False를 반환
• 진리표(truth table) : 논리적인 연산의 모든 가능한 입력 값에 대한 해당 연산의 출력 값을 명시하는 표
| b1 | b2 | b1 and b2 |
| False | False | False |
| False | True | False |
| True | False | False |
| True | True | True |
Or
• 두 논리값이 모두 False일 때 False이고 어느 하나 True일 경우 True를 반환
• 진리표
| b1 | b2 | b1 or b2 |
| False | False | False |
| False | True | True |
| True | False | True |
| True | True | True |
not
• 단항 연산자로 논리값을 반전하여 False는 True로, True는 False로 반환
• 진리표
| b1 | Not b1 |
| False | True |
| True | False |

단락평가(short-circuit evaluation)
• 첫번째 논리값만으로 전체 연산 결과가 판별가능할 때 두번째 논리값은 확인(평가)하지 않는 기법
• 논리 연산의 효율성을 높이고, 불필요한 연산을 줄여주는 기능




3. 선택 구조의 확장
이분 선택 구조
| 구문형식 | 실행 흐름 |
![]() |
![]() |
다분 선택 구조
더 많은 불리언식을 사용해서 더 여러 개의 분기를 만들 수 있음.
| 구문형식 | 실행 흐름 |
![]() |
![]() |
마지막 else문은 적지 않아도 됨.
* 다분실행구조 실행 흐름 사진 출처 : 강의록
BMI 체질량지수 계산기 [참고]

가장 큰 수를 찾는 프로그램
세 수 A, B, C를 입력 받고 그 중 가장 큰 수를 출력하는 프로그램


중첩 선택 구조의 구문형식
| 구문형식 | 실행 흐름 |
![]() |
![]() |
4. 원뿔 계산 프로그램 개선



반지름이 음수일 경우 계산할 수 없으니, 0보다 클 경우에만 계산되도록 함.

반지름과 높이가 모두 양수일 때만 계산되도록 함.
그런데 둘 중 하나가 0보다 작을 경우 안내 문구가 출력되면 좋을 것 같음.

if-else 구조를 이용해서 안내문구를 추가함.
'방송대 컴퓨터과학과 > 파이썬 프로그래밍 기초' 카테고리의 다른 글
| 방송대 파이썬 프로그래밍 기초 - 8강. 체크포인트1 (1-7강) (0) | 2023.04.12 |
|---|---|
| 방송대 파이썬 프로그래밍 기초 - 7강. 반복구조 (0) | 2023.04.11 |
| 방송대 파이썬 프로그래밍 기초 - 5강. 제어구조 (0) | 2023.04.08 |
| 방송대 파이썬 프로그래밍 기초 - 4강. 파이썬 시작하기 (0) | 2023.04.08 |
| 방송대 파이썬 프로그래밍 기초 - 3강. 파이썬의 이해 (0) | 2023.04.07 |







