0% found this document useful (0 votes)
8 views

Python Project b

Uploaded by

rajendras30772
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

Python Project b

Uploaded by

rajendras30772
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

import pickle

import os
import pathlib
class Account :
accNo = 0
name = "”
deposit=0
type = "”
def createAccount(self):
self.accNo= int(input("Enter the account no : "))
self.name = input("Enter the account holder name : ")
self.type = input("Ente the type of account [C/S] : ")
self.deposit = int(input("Enter The Initial amount(>=500 for Saving and
>=1000 for current"))
print("\n\n\nAccount Created")
def showAccount(self):
print("Account Number : ",self.accNo)
print("Account Holder Name : ", self.name)
print("Type of Account",self.type)
print("Balance : ",self.deposit)

def modifyAccount(self):
print("Account Number : ",self.accNo)
self.name = input("Modify Account Holder Name :")
self.type = input("Modify type of Account :")
self.deposit = int(input("Modify Balance :"))
def depositAmount(self,amount):
self.deposit += amount

def withdrawAmount(self,amount):
self.deposit -= amount

def report(self):
print(self.accNo, " ",self.name ," ",self.type," ", self.deposit)

def getAccountNo(self):
return self.accNo

def getAcccountHolderName(self):
return self.name

def getAccountType(self):
return self.type

def getDeposit(self):
return self.deposit

def intro():
print("\t\t\t\t********")
print("\t\t\t\tBANK MANAGEMENT SYSTEM")
print("\t\t\t\t********")
print("\t\t\t\tMADE BY SHIVANSHU MISHRA")
print("\t\t\t\tOF CLASS 12 A1")
input()

def writeAccount():
account = Account()
account.createAccount()
writeAccountsFile(account)

def displayAll():
file = pathlib.Path("accounts.data")
if file.exists ():
infile = open('accounts.data','rb')
mylist = pickle.load(infile)
for item in mylist :
print(item.accNo," ", item.name, " ",item.type, " ",item.deposit )
infile.close()
else :
print("No records to display")

def displaySp(num):
file = pathlib.Path("accounts.data")
if file.exists ():
infile = open('accounts.data','rb')
mylist = pickle.load(infile)
infile.close()
found = False
for item in mylist :
if item.accNo == num :
print("Your account Balance is = ",item.deposit)
found = True
else :
print("No records to Search")
if not found :
print("No existing record with this number")

def depositAndWithdraw(num1,num2):
file = pathlib.Path("accounts.data")
if file.exists ():
infile = open('accounts.data','rb')
mylist = pickle.load(infile)
infile.close()
os.remove('accounts.data')
for item in mylist :
if item.accNo == num1 :
if num2 == 1 :
amount = int(input("Enter the amount to deposit : "))
item.deposit += amount
print(amount,"rupees diposited in your account successfully and
Your account is updted")
elif num2 == 2 :
amount = int(input("Enter the amount to withdraw : "))
if amount <= item.deposit :
item.deposit -=amount
print(amount,"rupees widthdrawal from your account
successfully")
else :
print("You cannot withdraw larger amount")
else :
print("No records to Search")
outfile = open('newaccounts.data','wb')
pickle.dump(mylist, outfile)
outfile.close()
os.rename('newaccounts.data', 'accounts.data')

def deleteAccount(num):
file = pathlib.Path("accounts.data")
if file.exists ():
infile = open('accounts.data','rb')
oldlist = pickle.load(infile)
infile.close()
newlist = []
for item in oldlist :
if item.accNo != num :
newlist.append(item)
os.remove('accounts.data')
outfile = open('newaccounts.data','wb')
pickle.dump(newlist, outfile)
outfile.close()
os.rename('newaccounts.data', 'accounts.data')
def modifyAccount(num):
file = pathlib.Path("accounts.data")
if file.exists ():
infile = open('accounts.data','rb')
oldlist = pickle.load(infile)
infile.close()
os.remove('accounts.data')
for item in oldlist :
if item.accNo == num :
item.name = input("Enter the account holder name : ")
item.type = input("Enter the account Type : ")
item.deposit = int(input("Enter the Amount : "))
print("The account has been modified")
outfile = open('newaccounts.data','wb')
pickle.dump(oldlist, outfile)
outfile.close()
os.rename('newaccounts.data', 'accounts.data')
def writeAccountsFile(account) :
file = pathlib.Path("accounts.data")
if file.exists ():
infile = open('accounts.data','rb')
oldlist = pickle.load(infile)
oldlist.append(account)
infile.close()
os.remove('accounts.data')
else :
oldlist = [account]
outfile = open('newaccounts.data','wb')
pickle.dump(oldlist, outfile)
outfile.close()
os.rename('newaccounts.data', 'accounts.data')
def writeAccountsFile(account) :
file = pathlib.Path("accounts.data")
if file.exists ():
infile = open('accounts.data','rb')
oldlist = pickle.load(infile)
oldlist.append(account)
infile.close()
os.remove('accounts.data')
else :
oldlist = [account]
outfile = open('newaccounts.data','wb')
pickle.dump(oldlist, outfile)
outfile.close()
os.rename('newaccounts.data', 'accounts.data')
# start of the program
ch=''
num=0
intro()
while ch != 8:
#system("cls");
print("\tMAIN MENU")
print("\t1. NEW ACCOUNT")
print("\t2. DEPOSIT AMOUNT")
print("\t3. WITHDRAW AMOUNT")
print("\t4. BALANCE ENQUIRY")
print("\t5. ALL ACCOUNT HOLDER LIST")
print("\t6. CLOSE AN ACCOUNT")
print("\t7. MODIFY AN ACCOUNT")
print("\t8. EXIT")
print("\tSelect Your Option (1-8) ")
ch = input()
#system("cls");
if ch == '1':
writeAccount()
elif ch =='2':
num = int(input("\tEnter The account No. : "))
depositAndWithdraw(num, 1)
elif ch == '3':
num = int(input("\tEnter The account No. : "))
depositAndWithdraw(num, 2)
elif ch == '4':
num = int(input("\tEnter The account No. : "))
displaySp(num)
elif ch == '5':
displayAll();
elif ch == '6':
num =int(input("\tEnter The account No. : "))
deleteAccount(num)
elif ch == '7':
num = int(input("\tEnter The account No. : "))
modifyAccount(num)
elif ch == '8':
print("\tThanks for using bank management system")
break
else :
print("Invalid choice")
ch = input("Enter your choice : ")
CERTIFICATE
This is to certify that Shivanshu Mishra of class 12 – A1
from S.R Global School, Lucknow has successfully
completed his computer Science Project File (Bank
Management System) based on python and python
programming under the guidance of Mr .Mohammad
Bilal Ahmad for the academic session 2024- 2025. He
has taken proper care and show utmost sincerity in the
completion of this project file . I certify that this project
file is up to my expectation and as per the guidelines
issued by C.B.S.E

Mr. Mohammad Bilal Ahmad


Internal examiner External examiner
S R Global School
Lucknow

Mr. C.K Ojha


( Principal )
S.R Global School School Stamp
LUCKNOW
ACKNOWLEDGEMENT
I would like to express a deep sense of thanks and
gratitude to my Computer Teacher Mr. Mohammad
Bilal Ahmad , he always evinced keen interest in my
work. His constructive advice and constant motivation
have been responsible for the successful completion of
this project file and I am also thankful to my Principal
Mr. C. K Ojha sir who gave me the golden opportunity
to do this wonderful project based on programming
concept (Python language) which also helped me in
doing a lot of research and I came to know about so
many new things and I am really thankful to them and I
am also thankful to my parents and friends who helped
me for completing this Python Project file with in the
limited time frame.

Student Name ~Shivanshu Mishra


Board Roll No ~
Contents
1. Introduction of the Project.
2. System Requirements of the Project.
3. Advantages.
4. Limitations.
5. Sample Application Screenshots.
6. Python Coding.
7. Output Screen
8. References.
Introduction of the Project
We the students of CLASS XII A1 of S R GLOBAL SCHOOL have
been assigned the work of Bank Management System. To
perform this task SHIVANSHU MISHRA has been assigned the
work of coding and programming. I have been assigned the
work of analysing the overall mistakes and have done the
conclusion work.
The project starts with-
1. NEW ACCOUNT
2. DEPOSIT AMOUNT
3. WITHDRAW AMOUNT
4. BALANCE ENQUIRY
5. ALL ACCOUNT HOLDER LIST
6. CLOSE AN ACCOUNT
7. MODIFY AN ACCOUNT
8. EXIT
I am so glad that this work have been assigned to us, yet we
haven’t done this work before BILAL SIR our subject teacher
have also helped us a lot to complete this project. I feel so
blessed that I have learnt all this work with the help of our sir,
I am also thankful to our respected principal CK OJHA SIR for
providing us various facilities to complete this project. As I
am the students of CLASS XII A1 and I haven’t done this type
of project before, we have performed all that which we have
learnt from our CBSE PROGRAMMING .Hence, we know that
this programming would be further done on a big platform.
Since we have started this programming from SEPTEMBER
month ,we believe that this programming would further help
us a lot in our future .We are also thankful to our groupmates
for cooperating with each other while performing this task
we have also polished the skills of group activity. PROCESS
FIRSTLY, we have done the planning in a paper work regarding
what have to do on the assigned project BANK
MANAGEMENT SYSTEM. SECONDLY, we discussed our
planning with our subject teacher and then he provided us
the right path to perform the work. NEXT, we started our
project on foot paths of our subject teacher. THEN, we
started our coding, coding took around 2 and half months for
completion. NEXT, we analysed the mistakes done and then
we corrected them. THEN, we prepared the project format as
shown above. THANKS TO ALL OF WORTHY TEACHERS AND
PRINCIPAL AND MY DEAR GROUP MATES ALSO A GREAT
THANKS TO S R GLOBAL SCHOOL FOR PROVIDING US THIS
GOLDEN OPPORTUNITY …..
System Requirements of the Project

Recommended System Requirements Processors:


Intel® Core™ i3 processor 4300M at 2.60 GHz.
Disk space: 2 to 4 GB.
Operating systems:Windows® 11, MACOS, and
UBUNTU.
Python Version: 3.11.2 .
Minimum System Requirements Processors:
Intel Atom® processor or Intel® Core™ i3 processor.
Disk space: 1 GB.
Operating systems: Windows 7 or later, MACOS, and
UBUNTU.
Python Version: 3.11.2
ADVANTAGES
1. Improved Efficiency
- Automates various banking tasks, reducing manual labor
and increasing efficiency.
- Enables fast and accurate processing of transactions,
deposits, and withdrawals.
2. Enhanced Security
- Provides secure storage and retrieval of sensitive customer
data.
- Implements authentication and authorization mechanisms
to prevent unauthorized access.
3. Better Customer Service
- Allows customers to perform various banking operations
online, reducing the need for physical branch visits.
- Enables customers to access their account information and
transaction history online.
4. Data Analysis and Reporting
- Provides tools for data analysis and reporting, enabling
banks to make informed decisions.
- Generates reports on customer transactions, account
balances, and other key performance indicators.
5. Scalability and Flexibility
- Designed to handle a large volume of transactions and
customer data.
- Can be easily modified and extended to meet changing
banking requirements.
6. Cost Savings
- Reduces the need for manual labor, paper-based records,
and physical infrastructure.
- Enables banks to allocate resources more efficiently and
reduce operational costs.
7. Improved Compliance
- Ensures compliance with regulatory requirements and
industry standards.
- Provides tools for auditing, logging, and tracking
transactions and system changes.
8. Enhanced User Experience
- Provides an intuitive and user-friendly interface for
customers and bank staff.
- Enables customers to perform banking operations online,
reducing the need for physical branch visits.
9. Real-time Updates
- Provides real-time updates on account balances, transaction
history, and other key information.
- Enables customers to stay informed and up-to-date on their
financial situation.
LIMITATIONS
Technical Limitations
1. Scalability: The system may not be able to handle a large
volume of transactions and customer data, leading to
performance issues.
2. Security: The system may be vulnerable to cyber-attacks
and data breaches, compromising sensitive customer
information.
3. Integration: The system may not be able to integrate with
other banking systems, such as payment gateways, credit
scoring systems, and more.
4. Data Storage: The system may not be able to handle large
amounts of data, leading to storage capacity issues.
Functional Limitations
1. Limited Transaction Types: The system may only support
basic transaction types, such as deposits, withdrawals, and
transfers.
2. Limited Account Types: The system may only support basic
account types, such as savings and checking accounts.
3. Limited Customer Information: The system may not be
able to store and manage detailed customer information,
such as credit history and employment status.
4. Limited Reporting Capabilities: The system may not be
able to generate detailed reports on customer transactions,
account balances, and other key performance indicators.
User Interface Limitations
1. Limited User Accessibility: The system may not be
accessible to users with disabilities, such as visual or hearing
impairments.
2. Limited User Experience: The system may not provide a
user-friendly interface, leading to confusion and frustration
among users.
3. Limited Mobile Compatibility: The system may not be
compatible with mobile devices, limiting user access.
Maintenance and Support Limitations
1. Limited Maintenance Capabilities: The system may not be
easy to maintain and update, leading to technical issues and
downtime.
2. Limited Support Resources: The system may not have
adequate support resources, such as documentation,
training, and technical support.
3. Limited Upgrade Path: The system may not have a clear
upgrade path, making it difficult to adapt to changing banking
requirements.
Screenshots
MAIN MENU

1-NEW ACCOUNT
2- DEPOSITE ACCOUNT

3- WIDTHDRAW ACCOUNT
4- BALANCE ENQUIRY

5- ALL ACCOUNT HOLDER LIST


6- CLOSE AN ACCOUNT

7- MODIFY AN ACCOUNT
8- EXIT
SR GLOBAL SCHOOL

COMPUTER SCIENCE (083)


PROJECT FILE
ON
(BANK MANAGEMENT SYSTEM)
2024-2025
SUBMITTED TO: SUBMITTED BY:
MOHAMMAD BILAL AHMAD SHIVANSHU MISHRA
ASST TEACHER 12A1
(PGT- Computer Science)

You might also like