일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JavaScript
- Cookie
- node.js
- aws
- 프로그래머스
- 코드잇
- 파이썬프로그래밍기초
- nestjs
- 99클럽
- SQL
- CSS
- redis
- 유노코딩
- MySQL
- 코딩테스트준비
- Python
- 꿀단집
- 자격증
- 파이썬
- 개발자취업
- 방송대
- 중간이들
- 방송대컴퓨터과학과
- HTML
- TiL
- Git
- 데이터베이스시스템
- 코딩테스트
- 엘리스sw트랙
- 항해99
- 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 |