파이썬 python : 조건식 & 조건문
조건식
어떤 조건에 따라 실행이 분기 되는 식
【 A if 조건식 else B 】
조건식의 결과가 True이면 A 실행, 그렇지 않으면 B 실행
num1 = 10
num2 = 100
result = True if num1 > num2 else False
print('num1 > num2 : {}'.format(result))
print('num1은 num2보다 크다.') if result else print('num1은 num2보다 크지 않다.')
-- 출력 -- num1 > num2 : False num1은 num2보다 크지않다. |
[실습] 적설량을 입력받고, 적설량이 30mm 이상이면 '대설 경보 발령'하고, 그렇지 않으면 '대설 경보 해제' 출력
limit = 30
snow = int(print('적설량 입력(mm): '))
print('적설량: {}mm,{}'.format(snow, '대설 경보 발령')) if snow >= limit else print('적설량: {}mm,{}'.format(snow, '대설 경보 해제'))
[실습] 국어, 영어, 수학 점수를 입력하면, 조건식을 이용해서 과목별 합격 결과와 전체 결과를 출력
과목별 합격 점수 : 60점
전체 합격 평균 점수 : 70
조건문
특정 조건에 따라 프로그램을 분기
조건문 종류
- 단일 조건 : if 문
- 양자 택일 : if ~ else 문
- 다자 택일(다중 조건) : if ~ elif 문
▶ if 문 (단일조건)
【 if 조건식:
실행문 】
if 10 > 5:
print('10은 5보다 크다')
num1 = 10
num2 = 20
if num1 <= num2:
print('num1은 num2보다 작거나 같다.')
[실습] 국어, 영어, 수학 정보를 입력하고 평균이 90점 이상이면 '참 잘했어요.' 출력
[실습] 실내 온도를 입력하고 온도가 28℃이상이면 '냉방 작동'이 출력되고, 온도가 28℃이하이면 '난방 작동'이 출력
▶ if ~ else 문 (양자 택일)
조건식 결과에 따라 둘 중에 하나가 실행됨
【 if 조건식:
실행문
else 조건식:
실행문 】
passScore = 80
myScore = int(input('점수 입력: '))
if myScore >= passScore:
print('PASS')
else:
print('FAIL')
[실습] 나이를 입력하고 교통 요금 유/무료 여부를 출력
65세이상 : 교통 요금 무료
[실습] 실수를 입력하고, 소수점 첫 번째 자리에서 반올림하는 프로그램
소수점 첫번째 자리가 5이상이면 올림, 미만이면 내림하는 조건문으로 구현
pass 키워드
실행을 하지 않고 넘긴다.
조건식(삼항연산자)의 두가지 사용법
- 조건식 결과에 따른 실행한 하는 경우
- 조건식 결과를 변수에 할당하는 경우
point_user = 1000
minAblePoint = 100
print('포인트 사용 가능') if point_user >= minAblePoint else print('포인트 사용 불가능')
result = '가능' if point_user >= minAblePoint else '불가능'
print('포인트 사용 가능 여부 : {}'.format(result))
▷ 모든 조건식(삼항연산자)은 if ~ else문으로 변경할 수 있다.
▷ 모든 if ~ else 문을 조건식(삼항연산자)으로 변경할 수 있는 것은 아니다.
[실습] 비올 확률을 입력하고 비올 확률이 55% 이상이면 '우산을 챙기세요.'를 출력하고, 그렇지 않으면 '양산을 챙기세요.'를 출력
▶ if ~ elif 문 (다자 택일 조건문)
여러 가지 조건식 결과에 따라 실행문이 결정됨.
【 if 조건식:
실행문
elif 조건식:
실행문 】
【 if 조건식:
실행문
elif 조건식:
실행문
else 조건식:
실행문 】
score = int(input('시험 성적 입력 : '))
grades = ''
if score >= 90:
grades = 'A'
elif score >= 80:
grades = 'B'
elif score >= 70:
grades = 'C'
elif score >= 60:
grades = 'D'
else:
grades = 'F'
print('성적: {} \t 학정: {}'.format(score, grades))
[실습] 계절을 입력하면, 영어로 번역되어 출력
[실습] 키오스크에서 메뉴를 선택하면 영수증이 출력
조건문(다자택일) 사용시 주의할 점
- 조건식 순서가 중요하다.
- 조건 범위를 명시한다.
[실습] 자동차 배기량에 따라 세금을 부과한다고 할때, 다음 표를 보고 배기량을 입력하면 해당 세금이 출력
중첩 조건문
조건문 안에 또 다른 조건문이 있을 수 있다.
( = 조건문 안에 또 다른 조건문을 선언한다.)
score = int(input('점수 입력 : '))
if score < 60:
print('재시험 대상입니다.')
else:
if score >= 90:
print('A')
elif score >= 80:
print('B')
elif score >= 70:
print('C')
elif score >= 60:
print('D')
[실습] 출퇴근시 이용하는 교통 수단에 따라 세름을 감면해주는 정책을 반영하여 결과 출력
- 의사코드
출퇴근 대상인가?
출퇴근 대상자이면
도보, 자전거 ---▷ 세금 감면 5%
버스, 지하철 ---▷ 세금 감면 3%
자가용 ---▷ 세금 감면 1%
출퇴근 대상자가 아니면
세금 변동 없음