Python, with its simplicity and readability, provides an ideal platform for beginners and professionals alike to develop robust applications swiftly. One such application is the Bank Management System. In this blog post, we'll delve into constructing a simple bank management system using Python, breaking down each segment and explaining its functionality.
System Overview
Our Bank Management System will offer:
- Creating a new bank account.
- Checking an account's balance.
- Depositing money.
- Withdrawing money.
- Displaying all accounts.
- Fetching transaction history for an account.
- Account deletion.
- Interest calculations.
- Transferring money between accounts.
Complete Source Code with Output
class Account:
def __init__(self, account_number, holder_name, balance=0.0):
self.account_number = account_number
self.holder_name = holder_name
self.balance = balance
self.transactions = []
def deposit(self, amount):
self.balance += amount
self.transactions.append(f"Deposited: ${amount:.2f}")
return self.balance
def withdraw(self, amount):
if amount > self.balance:
print("Insufficient funds!")
else:
self.balance -= amount
self.transactions.append(f"Withdrew: ${amount:.2f}")
return self.balance
def transfer(self, other_account, amount):
if amount > self.balance:
print("Insufficient funds!")
return
self.balance -= amount
other_account.balance += amount
self.transactions.append(f"Transferred: ${amount:.2f} to Account: {other_account.account_number}")
other_account.transactions.append(f"Received: ${amount:.2f} from Account: {self.account_number}")
def display_transactions(self):
print(f"\nTransaction history for Account: {self.account_number}")
for t in self.transactions:
print(t)
def __str__(self):
return f"AccountNumber: {self.account_number}, Holder: {self.holder_name}, Balance: ${self.balance:.2f}"
class Bank:
def __init__(self):
self.accounts = {}
def create_account(self, account_number, holder_name, initial_balance=0.0):
if account_number in self.accounts:
print("Account already exists!")
return
self.accounts[account_number] = Account(account_number, holder_name, initial_balance)
def delete_account(self, account_number):
if account_number not in self.accounts:
print("Account does not exist!")
return
del self.accounts[account_number]
print(f"Account {account_number} deleted successfully.")
def get_account(self, account_number):
return self.accounts.get(account_number, None)
def list_accounts(self):
for account in self.accounts.values():
print(account)
def main():
my_bank = Bank()
# Create accounts
my_bank.create_account(101, "John Doe", 1000.50)
my_bank.create_account(102, "Jane Smith", 500.75)
# Display accounts
print("\nListing all accounts:")
my_bank.list_accounts()
# Deposit money
john_account = my_bank.get_account(101)
john_account.deposit(200)
print(f"\nJohn's updated balance after depositing $200: ${john_account.balance:.2f}")
# Withdraw money
john_account.withdraw(50)
print(f"John's updated balance after withdrawing $50: ${john_account.balance:.2f}")
# Transferring money between accounts
jane_account = my_bank.get_account(102)
print("\nTransferring $300 from John to Jane:")
john_account.transfer(jane_account, 300)
print(f"John's balance: ${john_account.balance:.2f}")
print(f"Jane's balance: ${jane_account.balance:.2f}")
# Display transactions
john_account.display_transactions()
jane_account.display_transactions()
# Deleting an account
my_bank.delete_account(102)
print("\nListing all accounts after deleting Jane's account:")
my_bank.list_accounts()
if __name__ == "__main__":
main()
Output:
Listing all accounts:
AccountNumber: 101, Holder: John Doe, Balance: $1000.50
AccountNumber: 102, Holder: Jane Smith, Balance: $500.75
John's updated balance after depositing $200: $1200.50
John's updated balance after withdrawing $50: $1150.50
Transferring $300 from John to Jane:
John's balance: $850.50
Jane's balance: $800.75
Transaction history for Account: 101
Deposited: $200.00
Withdrew: $50.00
Transferred: $300.00 to Account: 102
Transaction history for Account: 102
Received: $300.00 from Account: 101
Account 102 deleted successfully.
Listing all accounts after deleting Jane's account:
AccountNumber: 101, Holder: John Doe, Balance: $850.50
Conclusion
Our Bank Management System in Python showcases how simple it is to build and understand the application. We've utilized Python's class system to define bank accounts and their associated behaviors. This project serves as a foundation, and one can integrate more advanced features such as transaction history, interest calculations, or even database connectivity for a more robust system.
Related Posts
Mini Projects
Related Python Source Code Examples:
Python string literals
Python string length example
Python String join() method example
Python string split() method example
Python String index() method example
Python string find() method example
Python string startswith() method example
Python string endswith() method example
Python String lower() method example
Python String upper() method example
Python string title() method example
Python string capitalize() method example
Python string islower() method example
Python string istitle() method example
Python string isupper() method example
Python string swapcase() method example
Python string strip() method example
Python string replace() method example
Python string isdigit() method example
Python string isdecimal() method example
Python string isnumeric() method example
Python string isalpha() method example
Python string isalnum() method example
Write a python program to concatenate strings in different ways
Python program to create a new string by appending s2 in the middle of s1
Split a given string on asterisk into several substrings and display each substring in Python
Write a Python program to count all lower case, upper case, digits, and special symbols from a given string
Write a python program to return a string such that the string is arranged from lowercase letters and then uppercase letters
Write a Python Class to Reverse a String Word by Word
Write a python class to implement pow(x, n)
Write a python class to convert an integer to a Roman numeral
Write a python program to find the factorial of a number using recursion
Write a Python program to convert temperature in Celsius to Fahrenheit
Write a Python program to find the largest number among the three input numbers
Write a Python program to print only even numbers using the function
Write a python program to filter integer, float, string from a list
Write a python program to check whether the given number is greater than 50 and also divisible by 2 using nested if else
Write a python program to demonstrate a simple class creation
Write a python program to demonstrate the object as an argument
Write a python program to demonstrate an object as an argument with default values
Write a python program to demonstrate method overriding
Write a Python program for Linear Search and Binary Search
Python list - insert, remove, append, len, pop and clear example
Write a python program to add two numbers
Write a python program to get the python version
Write a python program to check whether the first and last letters of the given word is vowel or not ?
Write a python program to count the number of digits
Write a python program to filter integer, float, string from a list
Write a python program to find the average of 10 numbers
Write a python program to traverse a list and print the values in it
Write a python program to print first 20 natural numbers using while loop
Write a python program to print the square of all numbers from 1 to 10
Write a python program to get the sum of digits
Write a python program to print right angle triangle pattern using *
Write a python program to remove vowels in a word
Write a python program to find absolute value using function
Wrtie a python program to demonstrate the use of variable length arguments
Write a python program to demonstrate the use of default arguments
Write a python program to demonstrate the use of keyword arguments
Write a python program to print a simple list using functions
Write a python program to find the max values in a list using function
Given a string of odd length greater 7, return a string made of the middle three chars of a given String
Arrange string characters such that lowercase letters should come first
Write a Python program to Count all lower case, upper case, digits, and special symbols from a given string
Write a Python program to Find all occurrences in a given string ignoring the case
Given an input string, count occurrences of all characters within a string and return the details as dictionary
Write a Python program to Split a given string on asterisk into several substrings and display each substring
Write a Python program to Check whether the given string startswith 'h'
Write a python program to concatenate strings in different ways
Write a python program to return a string such that the string is arranged from lowercase letters and then uppercase letters
Write a python program to repeat a givent string multiple times
Write a python program to create a simple list and nested list with different datatypes
Write a python program to add elements to an existing list from user input
Write a python program to reverse a given list
Write a python program to convert a list to tuple using tuple function
Write a python program to check whether the user given input is equal to the current working directory or not
Write a Python program for Linear Search and Binary Search
Selection Sort Algorithm in Python
Bubble Sort Algorithm in Python
Bogo Sort Algorithm in Python
Bucket Sort Algorithm in Python
Comb Sort Algorithm in Python
Counting Sort Algorithm in Python
Heap Sort Algorithm in Python
Insertion Sort Algorithm in Python
Merge Sort Algorithm in Python
Quick Sort Algorithm in Python
Shell Sort Algorithm in Python
Interpolation Search Algorithm in Python
Stack Implementation in Python
Queue Implementation in Python
Deque Implementation in Python
Singly Linked List Implementation in Python
Doubly Linked List Implementation in Python
Circular Linked List Implementation in Python
PriorityQueue Implementation in Python
Circular Queue Implementation in Python
Binary Search Tree Implementation in Python
Stack Implementation Using Linked List in Python
Stack Implementation Using Doubly Linked List in Python
Python - Convert Binary to Decimal Example
Python - Convert Binary to Hexadecimal Example
Python - Convert Binary to Octal Example
Python - Convert Decimal to Binary Example
Python - Convert Decimal to Octal Example
Python Convert String to Int
Python Convert String to DateTime
Python Convert String to Date
Python Convert String to JSON
Python Convert String to Number
Python Convert String to List
Python Convert String to Float
Python Convert String to Bytes
Python Convert List to String
Python Convert List to Set
Python Convert List to Dictionary
Python Convert List to Tuple
Python Convert List to JSON
Python Convert List to Array
Python Convert List to String With Commas
Python Convert List to Dataframe
Python Convert Set to List
Python Convert Set to String
Python Convert Set to Tuple
Python Convert Set to Dictionary
Python Convert Set to JSON
Python Convert Set to Comma Separated String
Python Convert Dictionary to JSON
Python Convert Dictionary to Dataframe
Python Convert Dictionary to String
Python Convert Dictionary to List
Python Convert Dictionary Keys to List
Python Convert Dictionary Values to List
Python Convert Dictionary to Tuple
Python Convert Array to String
Python Convert Array to String With Commas
Python Convert Array to List
Python Convert Array to Set
Python Convert Array to JSON
Python Convert Array to Dictionary
Python Convert Array to Tuple
Python Convert Int to String
Python Convert Int to Binary
Python Convert Int to Float
Python Convert Date to String
Python Convert Date to Epoch
Python Convert Date to Unix Timestamp
Python Convert Date to DateTime
Python Convert Date to DateTime
Python Convert Date to Timestamp
Python Convert Date String to DateTime
Python Convert Date String to Epoch
Python Convert Tuple to String
Python Convert Tuple to List
Python Convert Tuple to Dictionary
Python Convert Tuple to Comma Separated String
Python Convert Tuple to Array
Python Convert Tuple to JSON
Python Convert JSON to String
Python Convert JSON to Dictionary
Python Convert JSON to Array
Python Convert JSON to XML
Python Convert JSON to List
Python
Comments
Post a Comment