A terminal-based ATM simulation built in Python that supports card authentication, PIN verification, and multi-currency withdrawals with commission and input validation.
- π 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
- User enters card name (must match predefined value)
- User inputs PIN (3 attempts allowed)
- After successful login:
- Choose currency
- Enter withdrawal amount
- System validates and processes transaction
- Balance updates after each withdrawal
- User can exit anytime
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