0% found this document useful (0 votes)
15 views18 pages

To Inform You That I Am in Problem

To inform you
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)
15 views18 pages

To Inform You That I Am in Problem

To inform you
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/ 18


Source Code
import getpass
import string
import os
# creatinga lists of users, their PINs and bank statements
users = ['user1', 'user2', 'user3']
pins = ['1234', '2222', '3333']
amounts = [1000, 2000, 3000]
count = 0
# while loop checks existance of the enterd username
print("****************************************************************************
") print("* *")
print("* W elcome to IT SOURCECODE ATM SYSTEM *" )
print("* *")
print("****************************************************************************
") while True:
user = input('\nENTER USER NAME: ' )
user = user.lower()
if user in users;
if user == users[0];
n = 0
elif user == users[1]:
n = 1
else:
n = 2
break
else:
print('---------------- ')
print('****************' )
print('INVALID USERNAME' )
print('****************' )
print('---------------- ')
# comparing pin
while count < 3:
print('------------------')
print('******************' )
pin = input('PLEASE ENTER PIN: ' )
print('******************' )
print('------------------')
if pin.isdigit():
if user == 'user1':
if pin == pins[0]:
break
else:
count += 1
print('-----------')
print('***********' )
print('INVALID PIN')
print('***********' )
print('-----------')
print()
if user == 'user2':
if pin == pins[1]:
break
else: count += 1
print('-----------')
print('***********' )
print('INVALID PIN' )
print('***********' )
print('-----------')
print()
if user == 'user3':
if pin == pins[2]:
break
else: count += 1
print('-----------')
print('***********' )
print('INVALID PIN')
print('***********' )
print('-----------')
print()
else:
print('------------------------')
print('************************' )
print('PIN CONSISTS OF 4 DIGITS' )
print('************************' )
print('------------------------')
count += 1
# in case of a valid pin- continuing, or exiting
if count == 3:
print('----------------------------------- ')
print('***********************************' )
print('3 UNSUCCESFUL PIN ATTE MPTS, EXITING' )
print('!!!!! YOUR CARD HAS BEEN LOCKED! !!!! ' )
print('***********************************' )
print('----------------------------------- ')
exit()
print('-------------------------')
print('*************************' )
print('LOGIN SUCCESFUL, CONTINUE' )
print('*************************' )
print('-------------------------')
print()
print('--------------------------')
print('**************************' )
print(str.capitalize(users[n]), 'welcome to AT M')
print('**************************' )
print('----------ATM SYSTEM-----------')
# Main menu
while True:
#os.system('clear')
print('------------------------------- ')
print('*******************************' )
response = input('SELECT FROM FOLLOW ING OPTIONS:
\nStatement__(S) \nW ithdraw___(W ) \nLodgement__(L) \nChange PIN_(P)
\nQuit_______(Q) \nType The Letter Of Your Choices: ' ).lower()
print('*******************************' )
print('-------------------- -----------')
valid_responses = ['s', 'w', 'l', 'p', 'q']
response = response.lower()
if response == 's':
print('--------------------------------------------- ')
print('*********************************************' )
print(str.capitalize(users[n]), 'YOU HAVE ' , amounts[n],'EURO ON
YOUR ACCOUNT.' )
print('*********************************************' )
print('--------------------------------------------- ')
elif response == 'w':
print('----------------------------- ---------------- ')
print('*********************************************' )
cash_out = int(input('ENTER AMOUNT YOU W OULD LIKE TO
W ITHDRAW : ' ))
print('*********************************************' )
print('------------------------------- -------------- ')
if cash_out%10 ! = 0:
print('------------------------------------------------------ ')
print('******************************************************' )

print('AMOUNT YOU W ANT TO W ITHDRAW MUST TO MATCH 10


EURO NOTES' )
print('******************************************************' )
print('------------------------------------------------------ ')
elif cash_out > amounts[n]:
print('----------------------------- ')
print('*****************************' )
print('YOU HAVE INSUFFICIENT BALANCE' )
print('*****************************' )
print('----------------------------- ')
else: amounts[n] = amounts[n] - cash_out
print('----------------------------------- ')
print('***********************************' )
print('YOUR NEW BALANCE IS: ' , amounts[n], 'EURO')
print('***********************************' )
print('----------------- ------------------ ')
elif response == 'l':
print()
print('--------------------------------------------- ')
print('*********************************************' )
cash_in = int(input('ENTER AMOUNT YOU W ANT TO LODGE: ' ))
print('*********************************************' )
print('--------------------------------------------- ')
print() if cash_in%10 ! = 0:
print('---------------------------------------------------- ')
print('************************** **************************' )
print('AMOUNT YOU W ANT TO LODGE MUST TO MATCH 10 EURO
NOTES')
print('****************************************************' )
print('---------------------------------------------------- ')
else: amounts[n] = amounts[n] + cash_in
print('---------------------------------------- ')
print('****************************************' )
print('YOUR NEW BALANCE IS: ' , amounts[n], 'EURO')
print('****************************************' )
print('---------------------------------------- ')
elif response == 'p':
print('-----------------------------')
print('*****************************' )
new_pin = str(getpass.getpass('ENTER A NEW PIN: '))
print('************************ *****')
print('-----------------------------')
if new_pin.isdigit() and new_pin ! = pins[n] and len(new_pin) == 4:
print('------------------ ')
print('******************' )
new_ppin = str(getpass.getpass('CONFIRM NEW PIN: '))
print('*******************' )
print('-------------------')
if new_ppin ! = new_pin:
print('------------')
print('************' )
print('PIN MISMATCH' )
print('************' )
print('------------')
else:
pins[n] = new_pin
print('NEW PIN SAVED' )
else:
print('------------------------------------- ')
print('*************************************' )
print(' NEW PIN MUST CONSIST OF 4 DIGITS \nAND MUST BE
DIFFERENT TO PREVIOUS PIN' )
print('*************************************' )
print('------------------------------------- ')
elif response == 'q':

exit()
else:
print('------------------ ')
print('******************' )
print('RESPONSE NOT VALID' )
print('******************' )
print('------------------ ')

OUTPUT:-
CONCLUSION :
In conclusion, the ATM project successfully implemented key features such as account
balance inquiries, cash withdrawals, deposits, and PIN verification. The user interface is
intuitive, ensuring a seamless customer experience. Security measures, including
encryption and PIN protection, have been integrated to safeguard user information.
Ongoing maintenance and updates will further enhance system reliability. Overall, the
ATM project meets its objectives of providing convenient and secure financial transactions
for users.
Maintenance
ATM maintenance involves regular checks and updates to ensure optimal
performance and security. Tasks include hardware inspections, software
updates, security patches, and replenishment of cash. Routine monitoring
of transaction logs helps identify any anomalies or issues, while periodic
testing ensures all functionalities are operating smoothly. Collaborating with
a dedicated maintenance team ensures prompt resolution of technical
issues, minimizing downtime and enhancing user satisfaction. Regular
security audits and compliance checks are vital to safeguard against
emerging threats, maintaining the integrity of the ATM system.
Bibliography
Help from these resources
  Computer Science with Python – Sumita Arora
http://www.github.com
www.google.com
http://slideshare.in


















You might also like