Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

calculator-python

사칙연산 CLI 계산기 — 5개 언어 비교 시리즈 중 Python 구현.

동일한 사양의 계산기를 C, C++, C#, Python, Rust로 각각 구현하고, 언어마다 "관용적인(idiomatic)" 방식이 어떻게 다른지 비교하는 학습 프로젝트입니다.

실행

python calculator.py

빌드 과정 없음. Python 3.x만 있으면 됩니다.

계산기 (예: 3 + 4, 종료: q)
> 3 + 4
= 7
> 10 / 3
= 3.33333
> q

무엇을 썼고, 왜 썼는가

  • input() + str.split() — 한 줄을 받아 공백으로 3조각(숫자 연산자 숫자)으로 나누는 가장 단순한 파싱.
  • float() + try/except — Python의 관용구인 EAFP(Easier to Ask Forgiveness than Permission) 스타일. "일단 변환을 시도하고, 실패하면 예외로 처리"하는 방식이 사전 검사보다 파이썬답습니다.
  • if/elif 연산자 분기 — 이 규모에서는 dict 매핑보다 읽기 쉬워 단순 분기를 선택.

이 언어의 장단점 (이 프로젝트 기준)

장점

  • 5개 구현 중 코드가 가장 짧고 읽기 쉬움
  • 빌드가 없어 수정 → 실행 사이클이 즉시 — 프로토타이핑 최강
  • 예외 처리로 오류 로직이 본 흐름과 분리되어 깔끔

단점

  • 타입 오류를 실행해봐야 발견 (동적 타입)
  • 5개 구현 중 실행 속도 최하
  • 배포하려면 상대방 PC에도 Python 필요

5개 언어 비교 요약

C C++ C# Python Rust
실행 방식 네이티브 네이티브 .NET(JIT) 인터프리터 네이티브
메모리 관리 수동 수동(RAII) GC GC 소유권
오류 처리 반환값 검사 스트림 상태 TryParse 예외(EAFP) Result+match
코드 길이 중간 중간 짧음 최단 최장

공통점: 5개 구현 모두 "루프 → 한 줄 입력 → 3조각 파싱 → 연산자 분기 → 출력" 구조이며, 잘못된 입력·0 나누기에 죽지 않도록 명시적으로 처리합니다.

가장 큰 차이는 오류 처리 철학: C는 개발자 재량, Python/C#은 런타임 보호, Rust는 컴파일 타임 강제.

License

MIT

About

사칙연산 CLI 계산기 — 5개 언어 비교 시리즈 (Python)

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages