[Python] 조건문

·2023년 3월 2일
0

[Python] 제로베이스

목록 보기
5/11
post-thumbnail

✒️ 조건식

조건식이란, 어떤 조건에 따라 실행이 분기되는 식

A if 조건식 else B : True이면 A 실행 , False면 B 실행


num1 = 10
num2 = 100

result = True if num1 > num2 else False
print(f"조건식 결과 : {result}")
print("num1은 num2 보다 크다.") if num1 > num2 else print("num1은 num2 보다 작다.")

📌결과
조건식 결과 : False
num1은 num2 보다 작다.

limitSnow = 30
snow = int(input("적설량 입력(cm) : "))

print(f'적설량(cm) : {snow} -> 대설 경보 발령!!') if snow >= limitSnow else \
    print(f'적설량(cm) : {snow} -> 대설 경보 해제!!')
    
    
   
📌결과

적설량 입력(cm) : 80
적설량(cm) : 80 -> 대설 경보 발령!!   

✒️ 조건문

특정 조건에 따라 프로그램을 분기한다.

조건문 종류

  • if문 -> 단일 조건
  • if-else문 -> 양자택일
  • if-elif문 -> 다자택일(다중조건)

if 문

if 조건식:
   실행문 (들여쓰기 필수)


if 10 > 5:
    print("10은 5보다 크다")

num1 = 23
num2 = 30

if num1 <= num2:
    print(f"{num1} <= {num2} : {num1 <= num2}")
else:
    print(f"{num1} <= {num2} : {num1 <= num2}")
   

📌결과

105보다 크다
23 <= 30 : True

   
    

✍️실습

국어, 영어, 수학 점수를 입력하고 평균이 90점 이상이면 '참 잘했어요.'를 출력하는 코드를 작성하자


korScore = int(input("국어 점수 : "))
engScore = int(input("영어 점수 : "))
mathScore = int(input("수학 점수 : "))
avg = (korScore + engScore + mathScore) / 3

if avg >= 90:
    print('참 잘했어요')
else:
    print("노력하세요!")

print('참 잘했어요') if avg >= 90 else print("노력하세요!")


📌결과

국어 점수 : 90
영어 점수 : 95
수학 점수 : 85
참 잘했어요
참 잘했어요

if~else 문

조건식의 결과에 따라 둘 중 하나가 실행됨

pass 키워드


if len("Hello World") > 100:
    pass #나중에 코딩하겠다는 뜻
else:
    pass
    
📌결과

Process finished with exit code 0

✍️실습

소수점 첫번째 자리에서 반올림하는 프로그램 만들기


floatNum = float(input("소수 입력 : "))

if floatNum - int(floatNum) >= 0.5:
    print(f"올림 : {int(floatNum + 1)}")
else:
    print(f"내림 : {int(floatNum)}")

    
📌결과

소수 입력 : 1.8
올림 : 2

소수 입력 : 3.14
내림 : 3

조건식의 두가지 사용 법

  • 조건식 결과에 따른 실행만 하는 경우

print('포인트 사용 가능') if userPoint >= minAblePoint else print("포인트 사용 불가능")
  • 조건식 결과를 변수에 할당하는 경우

result = print('포인트 사용 가능') if userPoint >= minAblePoint else '불가능'
print(f'포인트 사용 가능 여부 : {result}')

조건식 VS if~else 문

모든 조건식은 if~else 문으로 변경 가능하지만 모든 if~else문은 조건식으로 변경하기 어려운 경우도 있음 *조건식은 간단한 식만 표현

✍️실습

비올 확률이 55% 이상이면 '우산을 챙기세요' 그렇지 않으면 '양산을 챙기세요 (조건식과 if~else문 모두 사용)'


rainPercent = int(input("비올 확률(%) : "))
# 조건식
print("우산을 챙기세요") if rainPercent >= 50 else print("양산을 챙기세요")

# if~else
if rainPercent >= 50:
    print("우산을 챙기세요")
else:
    print("양산을 챙기세요")
    
    
    
📌결과

비올 확률(%) : 50
우산을 챙기세요
우산을 챙기세요

다자택일 조건문

if~elif문 : 여러 가지 조건식 결과에 따라 실행문이 결정됨


examScore = int(input("시험 성적 : "))
grades = ''

if examScore >= 90:
    grades = 'A'
elif examScore >= 80:
    grades = 'B'
elif examScore >= 70:
    grades = 'C'
elif examScore >= 60:
    grades = 'D'
else:
    grades = 'F'

print(f"성적 : {grades}")

📌결과

시험 성적 : 75
성적 : C

다자택일 사용시 주의할 점

  • 조건식의 순서가 중요하다

examScore = int(input("시험 성적 : "))
grades = ''

if examScore >= 90:
    grades = 'A'
elif examScore >= 60:
    grades = 'D'
elif examScore >= 70:
    grades = 'C'
elif examScore >= 80:
    grades = 'B'
else:
    grades = 'F'

print(f"성적 : {grades}")

📌결과

시험 성적 : 75
성적 : D

조건 범위를 명시한다


examScore = int(input("시험 성적 : "))
grades = ''

if examScore >= 90:
    grades = 'A'
elif examScore >= 60 and examScore < 70:
    grades = 'D'
elif examScore >= 70 and examScore < 80:
    grades = 'C'
elif examScore >= 80 and examScore < 90:
    grades = 'B'
else:
    grades = 'F'

print(f"성적 : {grades}")

📌결과

시험 성적 : 75
성적 : C

✍️실습

자동차배기량에 따라 세금 부과 프로그램


carDisplacement = int(input("자동차 배기량 입력 : "))
tax = 0

if carDisplacement >= 5000:
    tax = 600000
elif carDisplacement >= 4000:
    tax = 500000
elif carDisplacement >= 3000:
    tax = 400000
elif carDisplacement >= 2000:
    tax = 300000
elif carDisplacement >= 1000:
    tax = 200000
else:
    tax = 100000

print(f"배기량 : {carDisplacement} 세금 : {tax}")

📌결과

자동차 배기량 입력 : 3500
배기량 : 3500 세금 : 400000

✒️중첩 조건문

조건문 안에 또 다른 조건문이 있을 수 있다.


examScore = int(input("시험 성적 : "))
grades = ''

if examScore >= 90:
    grades = 'A'
else:
    print("재시험 대상입니다.")
    if examScore >= 80:
        grades = 'B'
    elif examScore >= 70:
        grades = 'C'
    elif examScore >= 60:
        grades = 'D'
    else:
        grades = 'F'

print(f"성적 : {grades}")


📌결과
시험 성적 : 86
재시험 대상입니다.
성적 : B

✍️실습

출퇴근 시 이용하는 교통 수단에 따라 세금을 감면해주는 프로그램


출퇴근 대상인가?
출퇴근 대상자이면
도보, 자전거->세금 감면 5%
버스, 지하철->세금 감면 3%
자가용 -> 추가 세금 1%


selectNum = int(input('출퇴근 대상자 인가요? 1(YES) 2(NO) : '))
if selectNum == 1:
    print("교통 수단을 선택하세요.")
    print('1. 도보/자전거\n2. 버스/지하철\n3. 자가용')
    tran = int(input('번호 선택 : '))

    if tran == 1:
        print("세금 감면 5%")
    elif tran == 2:
        print("세금 감면 3%")
    elif tran == 3:
        print('세금 감면 1%')
    else:
        print('존재하지 않는 번호입니다.')
elif selectNum == 2:
    print('세금 변동 없습니다.')
else:
    print('잘못 입력했습니다.')
    
📌결과

출퇴근 대상자 인가요? 1(YES) 2(NO) : 1
교통 수단을 선택하세요.
1. 도보/자전거
2. 버스/지하철
3. 자가용
번호 선택 : 2
세금 감면 3%

profile
개발하고싶은사람

0개의 댓글