1 life 2 live
파이썬 기초 프로그래밍(3-2) - 조건문(관계/논리 연산자), 실습 문제와 정리 [20.7.11] 본문
2. 조건문
■ 조건문 개요
º 프로그램 흐름의 분기를 위한 문법
º 관계 연산자와 논리 연산자의 조합 활용
º 조건문 종류
• IF
• IF-ELSE
• IF-ELIF-ELSE
■ 조건문: IF
º 가장 기본적인 조건문
• 조건식의 결과(True/False)에 따라 구문의 수행 여부를 결정
• 참(0이 아닌 모든 값)이면 구문을 수행

º 예제) CLUB은 19세 이하는 입장할 수 없는 핫플레이스 라고 한다. 나이를 입력받아 입장 여부를 판별하기 위한 프로그램을 작성하시오.

↓정답
a = int(input('나이를 입력하세요: '))
if a <=19:
print("입장 불가입니다.")
º IF 구문의 흐름

• 풀이: 만약 조건식이 참이라면 (age 변수에 저장되어 있는 값이 22보다 크거나 같다면 “안돼 돌아가.”를 출력하라!)
º 조건이 만족할 경우 여러 문장을 수행해야 한다면?

º 조건 만족 시 여러 문장의 수행
• 여러 문장을 입력하면 되지 않을까?

• 19를 입력한 결과는?

• 22를 입력한 결과는?

º 열을 잘 맞춰 써볼까?

• 19를 입력한 결과는? -> 차이가 없다

• 20을 입력한 결과는? -> 다른 결과가 나온다

■ 블록 (block)
º 같은 레벨에 존재하는 수행 문장들
º 인덴테이션(들여쓰기)을 통하여 구분됨
• 파이썬에서는 들여쓰기가 굉장히 중요함!

º 인덴테이션을 무시하고 print를 시도한다면? -> 이상한 결과가 나올 수 있다.
■ 주의점 1) 할당(=) 연산과 상등 연산(==)의 혼동
■ 아래 코드의 결과는?


■ 주의점 2) 조건식으로 변수만 올 수도 있다.
■ 주의점 3) 참이란 0이 아닌 모든 값이다.
º 그렇다면 -1은?


º 그렇다면 문자열은?


º 참고: Python에서 None, False, 0, '', (), [], {}는 거짓으로 간주된다.
■ 실습1) 숫자를 입력받아 홀/짝수 여부를 판별하는 프로그램을 작성하라



■ 실습2) 사용자의 나이를 입력받아 버스요금을 계산하는 프로그램을 작성하시오
º 버스의 기본요금: 1,000원
º 나이가 20세 미만인 영유아, 어린이, 청소년에 대해서는 요금을 25% 할인해 주고, 20세 이상 성인은 할인을 적용하지않음



■ 조건문: IF ELSE
º 조건식의 결과에 따라 수행 할 구문 결정
º 참인 경우와 거짓인 경우를 모두 정의
• 각 구문은 상호 배타적으로 실행 됨
• 참인 경우 참에 해당되는 구분만, 거짓인 경우 거짓에 해당하는 구문만 실행


■ 홀/짝수 예제
º 각각의 경우를 모두 정의하여 문제를 해결하였음

º if-else 구문을 사용한다면?
º 특정 조건을 정의한 후, 해당 조건이 아닌 경우를 처리하면 됨!

■ 3항 조건 연산자
º if/else 구문은 3항 조건 연산자로 동일하게 표현 할 수 있다.
º if condition: A else:B
º A if condition else B
º 예시)

■ 홀/짝수 예제
º if/else 3항 조건 연산자를 이용한다면?
º 특정 조건을 위한 값과 해당 조건이 아닌 값을 정의하면 됨!


■ 실습) 임의의 수 3개를 입력받은 후 가장 큰 값을 출력하는 프로그램을 아래 전략을 바탕으로 작성하라.
º 1) if-else 구문을 이용하여 작성하라
º 2) 3항 조건 연산자를 이용하여 작성하라



↓ 다른 답
a = int(input('첫 번째 숫자를 입력하세요: ‘))
b = int(input('두 번째 숫자를 입력하세요: ‘))
c = int(input('세 번째 숫자를 입력하세요: '))
if a > b:
max_value = a
else: max_value = b
if c > max_value:
max_value = c
print(max_value)
■ If ~ else 구문 안에서 또다시 if ~ else 구문을 사용 가능
º 중첩된 조건 구문
º 예) 입력받은 숫자가 양수인지, 음수인지, 0인지 판별하라

■ 사용자로부터 점수를 입력받아 학점을 출력하는 프로그램을 작성하시오
º 중첩된 IF 구문을 사용할 것
• 90~100: A
• 80~89: B
• 70~79: C
• 나머지: F


■ 조건문 : ELIF
º 여러 조건식을 조합하여 분기하기 위한 조건문
º 조건을 만족하는 부분만 수행됨


º 예) 입력받은 숫자가 양수인지, 음수인지, 0인지 판별하라

■ 실습) 사용자로부터 나이를 입력받아 요금을 출력하는 프로그램을 작성하시오
º 기본요금: 1000원
º ELIF 구문을 사용할 것
• 0~3세: 할인율 100%
• 4~13세: 할인율 50%
• 14~19세: 할인율 25%
• 20세 이상: 할인율 0%
• 65세 이상: 할인율 100%


3. 정리
■ 관계 연산자와 논리 연산자
º 관계연산자: 피연산자들간의 비교 (결과: 참/거짓)
º 논리연산자: 참/거짓으로 나타나는 피연산자들간의 논리적 연산
■ 조건문
º if 구문 (특정 조건 만족 시 수행)
º If – else 구문 (특정 조건 만족 여부에 따라 다른 내용 수행)
• 3항 조건 연산자
º If – elif – else 구문 (여러 조건 중 만족하는 경우에 대한 내용 수행)
º if 조건문은 중첩이 가능하다!
'파이썬' 카테고리의 다른 글
| 파이썬 기초 프로그래밍(4-2) - 반복문 (While 구문, Break, Continue 및 실습 문제와 정리 [20.7.13] (0) | 2020.07.13 |
|---|---|
| 파이썬 기초 프로그래밍(4-1) - 반복문 (For 구문 및 실습 문제) [20.7.12] (0) | 2020.07.12 |
| 파이썬 기초 프로그래밍(3-1) - 조건문(관계/논리 연산자) [20.7.10] (0) | 2020.07.10 |
| 파이썬 기초 프로그래밍(2) - 문자열 및 수학함수 그리고 연습문제와 정리[20.7.9] (0) | 2020.07.09 |
| 파이썬 기초 프로그래밍(1) - 변수와 계산 그리고 연습문제와 정리 [20.7.8] (0) | 2020.07.08 |