Skip to content

yuzyayvri/basic-python-calculator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Basic-Python-Calculator

Version 0.6.0

My first project with Python. Originally made sometime in mid-2025 and forgotten about, it was originally a basic 3-line terminal calculator with very limited capability. I picked this project back up in early 2026 because I wanted to continue learning Python.

Current features

  • GUI built with tkinter and ttk
  • Basic arithmetic, exponents, and root
  • Keyboard shortcuts:
    • Select operations (+, -, *, /, ^)
    • Calculate (Enter)
    • Exit (Ctrl+Q)
  • Error handling with logging
  • Floating point support
  • Clear function to reset all inputs and selected operation
  • History log of 15 entries for previous calculations
  • Basic settings menu
  • Secret easter eggs..?? 👀
  • Light and dark theme in the settings menu

Changelog (v0.6.0)

  • Significant overhaul to the architecture
  • Theme registry implementation for themes
  • Centralized error handling
  • Lambda binds bugfix
  • Button creation helper

Future plans (so far)

  • Add operations and inputs
  • Implement memory functions
  • Improve style and theming
  • Refactor code for better efficiency and readability

Documentation (wip)

  • Numbers
    • The first input is a, and the second is b.
    • You can only input numbers
  • Operations
    • You can select operations using the buttons
    • Supported operations currently:
      • Addition +
      • Subtraction -
      • Multiplication *
      • Division /
      • Exponent ^
      • Root
    • Each operation can also be selected using their respective keybinds (their symbol), except Root
  • Error codes
    • ERR:invopErr
      • Invalid operation error. Usually means user did not select any operation.
    • ERR:zerodivErr
      • Zero division error. Usually means user tried to divide by zero.
    • ERR:valErr
      • Value error. Usually means user inputted a non-number.
    • ERR:floatErr
      • Floating point error. Usually means overflow or precision issues occurred. Very rare. Python 3.11.9

About

Repository for my first Python project, a basic Python calculator. This showcases my Python journey. Happy reading— or, if you actually use it, happy computing!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages