본문 바로가기
카테고리 없음

[파이썬] 계산기 만들기 준비, 코드구현, 기능확장

by 개발자를 꿈꾸는 사람들과 함꼐 2025. 4. 1.

나만의 계산기를 만들기 위한 준비 단계


파이썬으로 첫 번째 간단한 프로젝트를 진행해보기 좋은 주제가 바로 계산기 만들기입니다. 계산기는 일상 속에서 친숙한 도구이기 때문에, 초보자도 동작 방식에 대해 쉽게 이해할 수 있고, 간단한 프로그래밍 개념을 적용해보기 좋은 예제입니다. 먼저 계산기의 기본 기능을 정의해 보겠습니다. 우리가 만들 계산기는 다음과 같은 네 가지 기능을 포함합니다:
• 덧셈
• 뺄셈
• 곱셈
• 나눗셈

프로젝트를 시작하기 전에 필요한 준비물은 파이썬이 설치된 환경입니다. 개발 도구로는 간단한 텍스트 에디터(IDLE, VSCode 등)를 사용하거나, Jupyter Notebook을 이용해도 좋습니다. 이 프로젝트는 콘솔(터미널)에서 실행되는 텍스트 기반 계산기로 시작합니다.

파이썬 코드로 계산기 기능 구현하기

이제 본격적으로 파이썬 코드로 계산기를 만들어 보겠습니다. 사용자가 두 개의 숫자와 연산 기호를 입력하면 그에 맞는 결과를 출력하도록 만들 것입니다. 아래는 전체 코드 예시입니다
<Example>
def add(x, y):
    return x + y

def subtract(x, y):
    return x - y

def multiply(x, y):
    return x * y

def divide(x, y):
    if y == 0:
        return "0으로 나눌 수 없습니다."
    return x / y

print("간단한 파이썬 계산기")
print("1. 덧셈")
print("2. 뺄셈")
print("3. 곱셈")
print("4. 나눗셈")

choice = input("원하는 연산을 선택하세요 (1/2/3/4): ")
num1 = float(input("첫 번째 숫자를 입력하세요: "))
num2 = float(input("두 번째 숫자를 입력하세요: "))

if choice == '1':
    print("결과:", add(num1, num2))
elif choice == '2':
    print("결과:", subtract(num1, num2))
elif choice == '3':
    print("결과:", multiply(num1, num2))
elif choice == '4':
    print("결과:", divide(num1, num2))
else:
    print("잘못된 입력입니다.")

이 프로그램에서는 함수(function)를 사용하여 각각의 연산을 정의하고 있습니다. 예를 들어, add(x, y) 함수는 두 숫자를 받아 더한 값을 반환합니다. 이처럼 함수를 이용하면 코드가 더 구조화되고 유지보수가 쉬워집니다. 또한 사용자가 잘못된 입력을 하거나 0으로 나누는 경우도 고려하여 예외 처리를 추가하였습니다. 이는 초보자에게도 중요한 개념으로, 실생활에서는 항상 예외 상황이 발생할 수 있다는 점을 고려해야 합니다.

계산기 기능 확장 및 실습

기본 계산기를 성공적으로 구현했다면, 여기서 멈추지 말고 다양한 기능을 추가하며 연습을 이어나갈 수 있습니다. 다음은 계산기를 확장할 수 있는 몇 가지 아이디어입니다:
1. 계속 계산 기능 추가하기
• 연산이 끝난 뒤 결과를 초기값으로 사용하여 새로운 숫자와 다시 연산하도록 구현할 수 있습니다.
2. 입력 오류 처리 개선
• 숫자가 아닌 값을 입력했을 때 에러가 발생하지 않도록 try-except 구문을 사용해 예외 처리를 해보세요.

try:
    num = float(input("숫자를 입력하세요: "))
except ValueError:
    print("숫자만 입력해야 합니다.")

3. 제곱, 제곱근, 나머지 연산 추가
• 수학에서 자주 쓰이는 기능을 버튼처럼 추가해 보세요.

def power(x, y):
    return x ** y

4. GUI 계산기 만들기
• 텍스트 기반에서 한 단계 더 나아가 tkinter 라이브러리를 이용해 버튼과 화면이 있는 간단한 그래픽 사용자 인터페이스(GUI)를 구현할 수 있습니다.
5. 이중 연산 및 수식 계산 기능 추가
• eval() 함수를 이용하면 사용자로부터 하나의 수식 전체(예: 3 + 5 * 2)를 입력받아 계산할 수 있습니다. 하지만 보안상의 이유로 입력을 검증하는 방법도 함께 익혀야 합니다.

expression = input("계산할 수식을 입력하세요: ")
print("결과:", eval(expression))

계산기를 만드는 프로젝트는 간단해 보이지만, 다양한 프로그래밍 개념을 종합적으로 연습할 수 있는 훌륭한 기회입니다. 함수 정의, 사용자 입력, 조건문, 예외 처리 등 핵심 문법을 자연스럽게 익힐 수 있습니다. 더 나아가 이 계산기를 친구나 가족에게 보여주며 설명하는 것도 학습에 매우 큰 도움이 됩니다. 누군가에게 설명하기 위해서는 본인이 먼저 개념을 정확히 이해해야 하기 때문입니다. 계산기 프로젝트는 단순한 도구를 만드는 것 이상의 의미를 지닙니다. 프로그래밍에 대한 자신감을 높이고, 더 복잡한 프로젝트를 진행 할 수 있는 힘의 기반을 다지는 주춧돌이 될 것입니다.