Skip to content

rawfilejson/ATM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 

Repository files navigation

🏧 Python ATM Simulator

A terminal-based ATM simulation built in Python that supports card authentication, PIN verification, and multi-currency withdrawals with commission and input validation.


πŸš€ Features

  • πŸ” Card verification system (3 attempts limit)
  • πŸ”’ PIN authentication with error handling
  • πŸ’± Multi-currency withdrawals:
    • GEL (β‚Ύ)
    • USD ($)
    • EUR (€)
  • πŸ’Έ Automatic currency conversion
  • πŸ“‰ Commission calculation on withdrawals
  • ⚠️ Input validation (non-numeric, negative values, etc.)
  • πŸ” Loop-based session with exit option
  • β›” Session termination on too many failed attempts

🧠 How It Works

  1. User enters card name (must match predefined value)
  2. User inputs PIN (3 attempts allowed)
  3. After successful login:
    • Choose currency
    • Enter withdrawal amount
    • System validates and processes transaction
  4. Balance updates after each withdrawal
  5. User can exit anytime

βš™οΈ Configuration

You can modify these values in the code:

GEL_TO_USD = 2.68
GEL_TO_EUR = 3.08
commission = 0.015
pin = 1111
Wallet = 10000

About

A terminal-based ATM simulator in Python that handles card authentication, PIN verification, multi-currency withdrawals with conversion and commission, and robust input validation.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages