데이터 분석가

파이썬(Python) 계산기(calculator) 프로그램 만들기 본문

파이썬(python) 프로젝트 모음

파이썬(Python) 계산기(calculator) 프로그램 만들기

PlintAn 2023. 3. 22. 09:00

안녕하세요 !
 

네녀석의 전투력은?!

드래곤볼 좋아하시나요 ?? 
 (드래곤볼에 나오는 스카우터도 아마 파이썬 같은 프로그래밍에 의해 만들어지지 않았을까요??)

 
이번 시간에는 파이썬 프로그램을 이용한 계산기를 만드는 코드를 짜보도록 하겠습니다.
 

from replit import clear #클리어 함수
from art import logo #로고 불러오기

def add(n1, n2): #add
    return n1 + n2

def substract(n1, n2): #substract
    return n1 - n2

def multiply(n1, n2): #multiply
    return n1 * n2

def divide(n1, n2): #divid
    return n1 / n2

def 문을 이용해 return 결과 값에 각각 + - * / 를 선언합니다 
 

operations = {
  "+" : add,
  "-" : substract,
  "*" : multiply,
  "/" : divide
}

operations 딕셔너리를 이용합니다
예를들어, operations[*] 인 경우 def multipy 함수를 선언합니다

def calculator(): #def 계산기 기능 선언
  print(logo) #로고를 불러옵니다

  num1 = float(input("What's the first number?: ")) #실수로 입력받습니다
  for symbol in operations: #앞서 언급한 심볼들을 출력하는 선언문
    print(symbol)
  should_continue = True #while문은 Ture 반환시 종료이므로, 먼저 선언해줍니다

 
num1을 실수로 입력 받고
sybol = {} 딕셔너리를 보여줍니다. 
그리고 다음 코드에 쓸 while 문을 위해
 
should_countinue = True로 시작합니다( whlie문은 True 반환시 반복 종료)
 
 

  while should_continue: #while문 시작
    operation_symbol = input("Pick an operation: ") #2번째 문자 심볼 입력
    num2 = float(input("What's the next number?: ")) #3번쨰 숫자 실수 입력
    calculation_function = operations[operation_symbol] #심볼 문자 출력
    answer = calculation_function(num1, num2) #결과 값 출력 진행
    print(f"{num1} {operation_symbol} {num2} = {answer}") # 최종 출력

첫 번째로 입력받은 num1에 이어
두 번째 symbol 중 하나를 입력 받고
세 번째 num2를 입력 받아 
 
f"num1 symbo1 num2" 을 이용해서  결과를 출력 받습니다.  
 

    if input(f"Type 'y' to continue calculating with {answer}, or type 'n' to start a new calculation: ") == 'y':
      num1 = answer #'y'입력시 입력 추가, num1, num2 입력 자료 출력
    else: #'n' '아니오'를 입력할 경우 초기화 돼어 다시 입력받습니다.
      should_continue = False #다시 처음부터 def calculator 반복문 시작
      clear() #입력받은 num1,symbol, num2 모두 초기화
      calculator()

calculator()

num1, symbol, num2 결과 값에 대해서 
 
또 다른 연산을 하고 싶 은 경우 'y', 'n'문을 이용해서 반복합니다.
 
이때 달라진 점은 num1 = answer(f"num1 symbo1 num2" 의 결과값) 을 다시 num1로 넣어
 
symbol과 num2를 입력 받아 계산을 반복합니다.
 
그리고 더 이상 계산을 원하지 않는다면 'n'를 입력하여 입력받은 num1, num2, symbol 값들을 초기화하고
 
  while = should_couninue = True 값을 반환 받아
 
다시 def calculator() 값으로 돌아가서 num1을 새롭게 입력받으며 시작합니다.
 
 
어때요 계산기도 많이 어렵지 않죠 ??! 여러분도 잘 할 수 있어요 !

 
 

Comments