본문 바로가기
Python/Python 강의

[Python] 4. 조건문

by ♡˖GYURI˖♡ 2023. 8. 20.

1. 조건문 소개

조건문 : 조건에 따라서 여러 경로 중에서 하나를 선택하여 실행하는 문

해당 조건에 따라 수행되는 하나 또는 여러 문장들을 블록이라고 함

 

2. if문

if문 형식 : 조건식이 참이면 수행되는 블록만 있으며, 거짓이면 수행되는 블록은 없음

if 조건식1 :

블록1 # 조건식1이 참이면 수행되는 블록만 있으며 조건식1이 거짓이면 수행되는 블록은 없음

  1. 수행되는 블록은 들여쓰기를 해야 함
  2. 같은 블록 안에 있는 문장들은 들여쓰기가 같아야

x = 20
y = 30
if x>y :
	print(y)
print('good')
x = 20
y = 30
if x < y:
    print('result:', end='')
    print(y)
print('good')

 

3. if-else문

if-else 형식 : 조건식이 참이면 수행되는 블록과 거짓이면 수행되는 블록이 있음

iff 조건식1:

        블록1

else:

        블록2

  1. 수행되는 블록은 들여쓰기를 해야 함
  2. 같은 블록 안에 있는 문장들은 들여쓰기가 같아야 함

x = 3.14
y = 7.89
if x < y:
	print(y)
else:
	print(x)
x = 3
y = 7
if x < y:
    z = y * y
    print(z)
else:
    z = x * x
    print(z)

양의 정수를 입력 받은 후에 홀수/짝수를 출력하는 코드

num = int(input('양의 정수 입력:'))
if num % 2 == 0:
    print('짝수')
else:
    print('홀수')

삼각형의 세변(x, y, z)의 길이 관계 예제

: 삼각형에서 두 변의 길이의 합은 나머지 변의 길이보다 큼

x = int(input('삼각형의 한 변 x의 길이 입력:'))
y = int(input('삼각형의 한 변 y의 길이 입력:'))
z = int(input('삼각형의 한 변 z의 길이 입력:'))
if x < y+z and y < x+z and z < x+y:
    print('삼각형을 구성할 수 있음')
else:
    print('삼각형을 구성할 수 없음')

 

4. 중첩 if문

if문 안에 if문을 포함한 조건문

score = int(input('점수 입력:'))
if 80 <= score:
    if 90 <= score:
        print('A')
    else:
        print('B')
else:
    if 70<= score:
        print('C')
    else:
        print('D')

 

5. if-elif문

if, elif, else를 이용하여 여러 조건을 구성하는 조건문

score = int(input('점수 입력:'))
if 90 <= score:
    print('A')
elif 80 <= score:
    print('B')
elif 70 <= score:
    print('C')
else:
    print('D')
income = int(input('연간 소득(달러) :'))
if 0 <= income and income < 10000:
    income_tax_rate = 0.1
elif 10000 <= income and income < 40000:
    income_tax_rate = 0.12
elif 40000 <= income and income < 80000:
    income_tax_rate = 0.22
else:
    income_tax_rate = 0.24

print(f'연간소득:{income} 달러에 대한 소득세:{income*income_tax_rate} 달러')

 

6. 실습 예제

입력 받은 정수를 절대값으로 변환하는 문제

  • 문제 : ‘정수 입력:’이라는 입력 안내 메시지를 출력하고 입력 받아서 정수형으로 변수 int_num에 저장한다. 절대값으로 변환하기 위해서 입력 받은 정수가 음의 정수이면 양의 정수로 변환하고 양의 정수이면 그대로 변수 absolute_value에 저장한다. print 함수를 이용하여 주어진 출력 형식으로 결과를 출력하는 코드를 작성하시오.
  • 출력 형식 : 입력 정수: ___ ⇒ 절대값: ___
int_num = int(input('정수 입력:'))
if int_num < 0:
    absolute_value = -int_num    #-1 * int_num 대신 이렇게도 가능
else:
    absolute_value = int_num

print(f'입력 정수: {int_num} => 절대값: {absolute_value}')

기간에 따른 원리금 계산 문제

  • 문제 : ‘원금 입력(원):’이라는 입력 안내 메시지를 출력하고 입력 받아서 정수형으로 변수 won에 저장. ‘기간 입력(개월):’이라는 입력 안내 메시지를 출력하고 입력 받아서 정수형으로 변수 month에 저장. 세율은 (입력받지 않음) 15.4%를 이용하여 최종 원리금을 구하여 변수 sum에 저장한다.
  • 기간에 따른 이율 (1개월 이상 ~ 24개월 미만)
    • 1개월 이상~3개월 미만 : 2.15%
    • 3개월 이상~6개월 미만 : 2.35%
    • 6개월 이상~12개월 미만 : 2.55%
    • 12개월 이상~24개 미만 : 3.15%
  • 힌트
    • 입력 받은 기간에 해당되는 이율과 원금으로 이자 소득을 계산하고 계산된 이자 소득과 세율을 이용하여 이자 소득세를 계산한다. 이자 소득에서 이자 소득세를 빼서 세후 이자 소득을 계산하고 원금과 합산하여 최종 원리금을 구한다.
  • 출력 형식 : 원금:___원, 기간:개월, 원리금:
won = int(input('원금 입력(원):'))
month = int(input('기간 입력(개월):'))
tax_rate = 0.154

if month >= 1 and month < 3:
    interest_rate = 0.0215
elif month >= 3 and month <6:
    interest_rate = 0.0235
elif month >= 6 and month < 12:
    interest_rate = 0.0255
else:
    interest_rate = 0.0315

interest = won * interest_rate          # 이자 소득
tax = interest * tax_rate               # 이자 소득세
interest_after_tax = interest - tax     # 세후 이자 소득
sum = won + interest_after_tax          # 최종 원리금

print(f'원금: {won}원, 기간: {month}개월, 원리금: {sum:.1f}원')

 

7. 마무리

  1. 조건문 소개 : 조건에 따라서 여러 경로 중에서 하나를 선택하여 실행하는 문장
  2. if문 : 조건식이 참이면 수행되는 블록만 있으며, 거짓이면 수행되는 블록은 없음
  3. if-else문 : 조건식이 참이면 수행되는 블록과 거짓이면 수행되는 블록이 있음
  4. 중첩 if문 : if문 안에 if문을 포함한 조건문
  5. if-elif문 : if, elif, else를 이용하여 여러 조건을 구성하는 조건문

'Python > Python 강의' 카테고리의 다른 글

[Python] 5. 반복문  (0) 2023.08.20
[Python] 3. 연산자 및 수식  (0) 2023.08.20
[Python] 2. 변수 및 자료형  (0) 2023.08.20
[Python] 1. 파이썬 및 파이참 설치  (0) 2023.08.20