1 life 2 live

파이썬 기초 프로그래밍(3-2) - 조건문(관계/논리 연산자), 실습 문제와 정리 [20.7.11] 본문

파이썬

파이썬 기초 프로그래밍(3-2) - 조건문(관계/논리 연산자), 실습 문제와 정리 [20.7.11]

대희투 2020. 7. 11. 20:37

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 조건문은 중첩이 가능하다!

728x90
반응형
Comments