본문 바로가기

Python 🎧

[python] 출력과 함수 - 윤년반영 월별 일수 계산/docstrings/딕셔너리 함수 결합/계산기/재귀함수

🎃출력과 함수

def format_name(f_name, l_name) :
  ff_name = f_name.title()
  ll_name = l_name.title()

  return (f"{ff_name} {ll_name}")

print(format_name(input("what is ur first name? : "),input("what is ur last name? : ")))


실행 결과


🎃 월별 일수 계산기

# 월별 일수 계산기
def lunar_year(y) :
  result_lunar = False
  if y % 4 == 0 :
    if y % 100 == 0 :
      if y % 400 == 0 :
        result_lunar = True
    else :
      result_lunar = True
  return result_lunar

def day_calc(y,m) :
  month_days = [31,28,31,30,31,30,31,31,30,31,30,31]

  result = month_days[m-1]
  if m == 2 :
    if lunar_year(y) :
      result = 29

  return result


print("월별 일수 계산 - !")
year = int(input("년을 입력하시오 : "))
month = int(input("월을 입력하시오 : "))

days = day_calc(year, month)

print(f"{year}년 {month}월의 일수 : {days}")


실행 결과


🎃docstrings

# docstrings - 여러문자열 작성가능 """ """
"""
주석으로 활용 가능 ?
"""


실행 결과


🎃 딕셔너리와 함수 결합 - 계산기 예제

# 딕셔너리와 함수 결합
# 계산기

# add 더하기
def add(n1, n2) :
  return n1 + n2
# subtract 빼기
def sub(n1, n2) :
  return n1-n2
# multiply 곱하기
def mul(n1, n2) :
  return n1*n2
# divide 나누기
def div(n1, n2) :
   return n1/n2

def calculation() :
  calc = {"+" : add,
          "-" : sub,
          "*" : mul,
          "/" : div
          }

  calc_continue = True

  num1 = float(input("첫번째 숫자를 입력하시오 : "))

  while calc_continue :
    num2 = float(input("다음 숫자를 입력하시오 : "))

    for sym in calc :
      print(sym)
    pick_sym = input("연산을 고르시오(+, -, *, /) : ")


    calc_func = calc[pick_sym]
    answer = calc_func(num1,num2)

    print(f"{num1} {pick_sym} {num2} = {answer}")

    if(input("계속 계산 ㄱ ?(y/n) : ") == "y" ) :
      num1 = answer
    else :
      calc_continue = False
      calculation() # 다시 시작 (재귀 함수)

calculation()


실행 결과