Skip to content

Latest commit

 

History

History
116 lines (77 loc) · 2.24 KB

File metadata and controls

116 lines (77 loc) · 2.24 KB

🏦 Python Banking System

A banking system developed in Python as part of the DIO (Digital Innovation One) challenges, focusing on programming logic, modularization, and software development best practices.

The application simulates common banking operations through an interactive terminal menu, allowing users to register customers, create bank accounts, make deposits and withdrawals, and view account statements.


✨ Features

  • 💰 Deposit funds
  • 💸 Withdraw funds with:
    • maximum withdrawal amount per transaction;
    • daily withdrawal limit;
    • available balance validation.
  • 📄 View account statements
  • 👤 Register customers using CPF as a unique identifier
  • 🏦 Create bank accounts linked to registered customers
  • 📋 List all registered bank accounts
  • ⚠️ Input validation and error handling

🛠️ Technologies

  • Python 3
  • Standard library (datetime)

📂 Project Structure

.
├── sistema_bancario.py
├── LICENSE
└── README.md

🚀 Getting Started

Clone the repository

git clone https://github.com/E-ternalSpring/python-banking-system.git

Navigate to the project directory

cd python-banking-system

Run the application

python sistema_bancario.py

💻 Usage Example

========== MENU ==========

[d] Deposit
[w] Withdraw
[s] Statement
[c] Register Customer
[n] New Account
[l] List Accounts
[q] Quit

==========================

=>

📚 Concepts Practiced

This project explores several important Python concepts, including:

  • Function modularization
  • Code organization
  • Docstrings
  • Exception handling (try/except)
  • Positional-only and keyword-only arguments (/ and *)
  • Lists and dictionaries
  • Conditional statements
  • Loops
  • User input validation

🎯 Learning Objectives

The primary goal of this project was to reinforce Python fundamentals by implementing a complete command-line banking system while applying clean code practices and function modularization.


📄 License

This project is licensed under the MIT License. See the LICENSE file for more information.


👩‍💻 Author

Emmanuelle Espindola

GitHub: https://github.com/E-ternalSpring