본문 바로가기

스파르타 내일배움캠프

TIL7 파이썬 조건문을 함수로 이용할수있는 방법!

오늘 9시에 퀴즈가 있다고하셔서 처음으로 퀴즈 풀고 튜터님께서 풀이해주시면서 많이 배웠다~

이 노션에 있는 문제를 제한시간(20분)내에 푸는것이었다. 사실 비몽사몽한 상태에서 푸는거라 너무많이 당황해서 print로 찍어내는것조차도 까먹었다.. 그니까 print로 출력하는건 아는데 ,를 이용해서 문자열과 변수 혹은 상수를 구분짓는건데 그 조차 기억이 안나서 급하게 구글링하다보니 내가 구현한건  이런식으로 fprint를 겨우 찾아서 넣었다.. 진짜 두번다시 기초적인 실수하기싫다... 진짜 기본기 하나도 안된기분..괜히 turtle을 만졌나싶기도하고 근데 여기에서 너무 좌절하고싶진않다. 처음이기에 당연히 실수도하고 이런 경험이 많이없기에 나올수있는 그런 상황들같다.. 꿈속에서도 많이 타이핑한만큼 자신이 가져가는거라고 그런 꿈을 꾸기도했다.. 어질어질...

 

 



print ('============================')
print ('주택용 전기 요금 (저압) 계산기')
print ('============================')
elec_fee_1= 99
elec_fee_2= 150
elec_tax_1= 60.7
elec_tax_2 =125.9
print(f"99kwh의 전기요금은' {elec_fee_1*elec_tax_1} '원 입니다.")
print(f"150kwh의 전기요금은' {elec_fee_2*elec_tax_2} '원 입니다.")

 

 

============================

주택용 전기 요금 (저압) 계산기

============================

99kwh의 전기요금은' 6009.3 '원 입니다.

150kwh의 전기요금은' 18885.0 '원 입니다.

 

https://teamsparta.notion.site/aa6dda6e767b4bbf9ccfa85872d09c79

 

전기 요금 계산기 (제어문)

 전기 요금 계산기 만들기 전기 요금을 계산하는 방법은 구글링해서 찾을 수 있습니다. 계산법은 다음과 같습니다. 이것을 지금까지 배운 제어문으로 코드를 작성하여 봅시다. https://cyber.kepco.

teamsparta.notion.site

 

 

 

 

 

조건문을 활용한 경우

 

 
 
 
# 첫 번째 사용한 전기량
#value = 99;

# 두 번째 사용한 전기량
value = 150

# 크게 중요하지 않다...
print("=" * 20);
print(" 주택용 전기요금(저압) 계산기 ");
print("=" * 20);

# 만약 사용전기량이 100이하 라면은...
if (value <= 100):
    # 내가 사용한 전기량(value)에 60.7을 곱해준다. 
    # 전기세(price)
    price = value * 60.7; 
# 만약 사용전기량이 100을 넘어가는 경우
elif(100 < value):
    # 기존 100 이하에 대한 연산 + 100 초과에 대한 연산 
    # 전기세(price) 
    price = (100 * 60.7) + (value - 100) * 125.9;

print(value , "kWh의 전기 요금은 ", price, "원 입니다.")
 
====================
 주택용 전기요금(저압) 계산기 
====================
150 kWh의 전기 요금은  12365.0 원 입니다.
 

 

 

 

하나의 함수로 묶어준 경우

 
 
1)에러가 출력되는경우 value값이 없어서 에러가 뜨는경우~
def 피카츄():
    # 크게 중요하지 않다...
    print("=" * 20);
    print(" 주택용 전기요금(저압) 계산기 ");
    print("=" * 20);

    # 만약 사용전기량이 100이하 라면은...
    if (value <= 100):
        # 내가 사용한 전기량(value)에 60.7을 곱해준다. 
        # 전기세(price)
        price = value * 60.7; 
    # 만약 사용전기량이 100을 넘어가는 경우
    elif(100 < value):
        # 기존 100 이하에 대한 연산 + 100 초과에 대한 연산 
        # 전기세(price) 
        price = (100 * 60.7) + (value - 100) * 125.9;

    print(value , "kWh의 전기 요금은 ", price, "원 입니다.")
 
 
 
피카츄() # 에러가 출력됩니다.
 
 
2)에러없는 경우 def 피카츄안에 value값넣어줬기에 에러가 안뜨죠~ 아래에서 함수 호출을 할때 value값을 지정해주는센스~ value=90으로 ㅋㅋ
def 피카츄(value):
    # 크게 중요하지 않다...
    print("=" * 20);
    print(" 주택용 전기요금(저압) 계산기 ");
    print("=" * 20);

    # 만약 사용전기량이 100이하 라면은...
    if (value <= 100):
        # 내가 사용한 전기량(value)에 60.7을 곱해준다. 
        # 전기세(price)
        price = value * 60.7; 
    # 만약 사용전기량이 100을 넘어가는 경우
    elif(100 < value):
        # 기존 100 이하에 대한 연산 + 100 초과에 대한 연산 
        # 전기세(price) 
        price = (100 * 60.7) + (value - 100) * 125.9;

    print(value , "kWh의 전기 요금은 ", price, "원 입니다.")
 
 
 
피카츄(value = 90)
 
====================
 주택용 전기요금(저압) 계산기 
====================
90 kWh의 전기 요금은  5463.0 원 입니다.
 
 
3) 연산 함수와 요금안내라는 함수를 나눠서 아래 두줄로 함수 호출하여 결과를 산출한다~
def 연산(value):
    # 크게 중요하지 않다...
    print("=" * 20);
    print(" 주택용 전기요금(저압) 계산기 ");
    print("=" * 20);

    # 만약 사용전기량이 100이하 라면은...
    if (value <= 100):
        # 내가 사용한 전기량(value)에 60.7을 곱해준다. 
        # 전기세(price)
        price = value * 60.7; 
    # 만약 사용전기량이 100을 넘어가는 경우
    elif(100 < value):
        # 기존 100 이하에 대한 연산 + 100 초과에 대한 연산 
        # 전기세(price) 
        price = (100 * 60.7) + (value - 100) * 125.9;

    return price
 
 
def 요금안내(value, price_input):
    print(value , "kWh의 전기 요금은 ", price_input, "원 입니다.")
 

 

price = 연산(value = 99)
요금안내(value = 99, price_input = price)
 
====================
 주택용 전기요금(저압) 계산기 
====================
99 kWh의 전기 요금은  6009.3 원 입니다.
 
 
def 한전(value):
    price = 연산(value)
    요금안내(value, price_input = price)
 
 
한전(value = 150)
 
====================
 주택용 전기요금(저압) 계산기 
====================
150 kWh의 전기 요금은  12365.0 원 입니다.
 
 
 
price = 연산(value = 99)
요금안내(value = 99, price_input = price)
 
====================
 주택용 전기요금(저압) 계산기 
====================
99 kWh의 전기 요금은  6009.3 원 입니다.
 
 
value = 99

ElectricityBill_V1(value)
 
====================
 주택용 전기요금(저압) 계산기 
====================
99 kWh의 전기 요금은  6009.3 원 입니다.
 

 

연산과 출력을 따로 묶어준 경우

 
 
 
def ElectricityBill_V2(value):
    print("=" * 20);
    print(" 주택용 전기요금(저압) 계산기 ");
    print("=" * 20);

    if (value <= 100):
        price = value * 60.7; 
    elif(100 < value):
        price = (100 * 60.7) + (value - 100) * 125.9;
    
    return price


def price_print(value ,price):
    print(value , "kWh의 전기 요금은 ", price, "원 입니다.")


value = 150

price = ElectricityBill_V2(value)
price_print(value, price)
 
====================
 주택용 전기요금(저압) 계산기 
====================
150 kWh의 전기 요금은  12365.0 원 입니다.
 

 

분할된 함수를 실행 단위로 묶어준 경우

 
 
====================
 주택용 전기요금(저압) 계산기 
====================
150 kWh의 전기 요금은  12365.0 원 입니다.
 
 
 
이재화튜터님께서 오늘 한시간동안 가르쳐주신 내용인데 1.조건문으로 일단 구현을 해보는방법을 알려주시고 그다음에 2.함수를 정의하여 각각의 기능을 나눈다음 넣어두고 두줄로 출력하는법 그리고 3.정의된 함수로 새로운 함수로 묶어서 그걸 호출하여 실행을 시키는 방법을 배웠다. 확실하게 함수로 묶은다음에 마지막에 한줄로 호출하는방식이 가장 깔끔하고 보기 편한거같다.. 저 이야기들을 들으니 이번 프로젝트과제를하면서 저의 잘못된 부분과 회고를 하는시점에서 가장 필요한부분같다... ㅠㅠ 여튼 이재화튜터님의 강의를 들으니 어떤 기능이든 함수로 묶어서 표현하는 방식을 많이 선호하고 채택해야된다고 생각이 든다. 화이팅!!