[기초#9] 프로젝트 예제: 미니 계산기 만들기
한줄 요약:
파이썬 기초 종합 실습: 미니 계산기 프로젝트. 입력, 조건문, 함수, 예외처리, 반복문을 활용해 완성하는 파이썬 콘솔 계산기 예제.
지금까지 배운 파이썬 기초(입력, 조건문, 반복문, 함수, 예외처리)를
전부 합쳐서 ✨ “미니 계산기 프로그램” ✨ 만들기!
1. 목표
- 사용자로부터 숫자와 연산기호 입력받기
- 사칙연산(
+,-,*,/) 수행하기 - 잘못된 입력에도 멈추지 않도록 예외처리
2. 1️⃣ 기본 구조 설계
# step1: 사용자 입력받기
# step2: 연산 수행하기
# step3: 예외 처리로 안전하게 실행하기
# step4: 반복문으로 계속 계산 가능하게 만들기
3. 2️⃣ 1단계 – 간단한 계산기
a = int(input("첫 번째 숫자: "))
b = int(input("두 번째 숫자: "))
op = input("연산 기호를 입력하세요 (+, -, *, /): ")
if op == "+":
print("결과:", a + b)
elif op == "-":
print("결과:", a - b)
elif op == "*":
print("결과:", a * b)
elif op == "/":
print("결과:", a / b)
else:
print("지원하지 않는 연산입니다.")
🪄 실행 예시:
첫 번째 숫자: 10
두 번째 숫자: 3
연산 기호를 입력하세요 (+, -, *, /): *
결과: 30
4. 3️⃣ 2단계 – 함수로 만들기
def calc(a, b, op):
if op == "+":
return a + b
elif op == "-":
return a - b
elif op == "*":
return a * b
elif op == "/":
return a / b
else:
return "지원하지 않는 연산"
print(calc(5, 2, "+"))
print(calc(10, 0, "/"))
🪄 결과:
7
ZeroDivisionError 발생!
5. 4️⃣ 3단계 – 예외 처리로 안전하게
def calc(a, b, op):
try:
if op == "+":
return a + b
elif op == "-":
return a - b
elif op == "*":
return a * b
elif op == "/":
return a / b
else:
return "지원하지 않는 연산입니다."
except ZeroDivisionError:
return "0으로 나눌 수 없습니다!"
except Exception as e:
return f"에러 발생: {e}"
6. 5️⃣ 4단계 – 반복 가능한 계산기 완성
def calc(a, b, op):
try:
if op == "+":
return a + b
elif op == "-":
return a - b
elif op == "*":
return a * b
elif op == "/":
return a / b
else:
return "지원하지 않는 연산입니다."
except ZeroDivisionError:
return "0으로 나눌 수 없습니다!"
while True:
try:
a = int(input("첫 번째 숫자: "))
b = int(input("두 번째 숫자: "))
op = input("연산 기호 (+, -, *, /) 또는 q로 종료: ")
if op.lower() == "q":
print("계산기를 종료합니다. 👋")
break
result = calc(a, b, op)
print("결과:", result)
except ValueError:
print("⚠️ 숫자를 제대로 입력해주세요!")
🪄 실행 예시:
첫 번째 숫자: 8
두 번째 숫자: 2
연산 기호 (+, -, *, /) 또는 q로 종료: /
결과: 4.0
첫 번째 숫자: 10
두 번째 숫자: 0
연산 기호 (+, -, *, /) 또는 q로 종료: /
결과: 0으로 나눌 수 없습니다!
첫 번째 숫자: q
계산기를 종료합니다. 👋
7. 코드 요약
| 기능 | 설명 |
|---|---|
def | 함수 정의 |
try ~ except | 에러 처리 |
while True | 반복 실행 |
input() | 사용자 입력 |
break | 종료 조건 |
8. 확장 아이디어
이 미니 계산기를 조금만 발전시키면?
- ✅ 여러 번 계산 결과 저장하기
- ✅ 파일(
result.txt)로 결과 로그 남기기 - ✅ GUI 계산기 만들기 (tkinter, PyQt 등 활용)
이전 강좌 👈 [기초#8] 모듈과 패키지: 코드 재활용의 진짜 시작
다음 강좌 👉 [예제#1] 커피 계산기 (실전 프로젝트 복습편)