ATM Management Python Project for Class 12

ATM Management Python Project for Class 12

 

 

#!/usr/bin/python
#cbsepython.in
import getpass
import string
import os

# creating a lists of users, their PINs and bank statements
users = ['jitendra', 'sunny', 'vivek']
pins = ['1111', '2222', '3333']
amounts = [1000, 2000, 3000]
count = 0
# while loop checks existance of the enterd username
while True:
    user = input('\nENTER USER NAME: ')
    print(user)
    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 = str(input('PLEASE ENTER PIN: '))
    print('******************')
    print('------------------')
    if pin.isdigit():
        if user == users[0]:
            if pin == pins[0]:
                break
            else:
                count += 1
                print('-----------')
                print('***********')
                print('INVALID PIN')
                print('***********')
                print('-----------')
                print()

        if user == users[1]:
            if pin == pins[1]:
                break
            else:
                count += 1
                print('-----------')
                print('***********')
                print('INVALID PIN')
                print('***********')
                print('-----------')
                print()
                
        if user == users[2]:
            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 ATTEMPTS, 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 ATM')
print('**************************')
print('----------ATM SYSTEM-----------')
# Main menu
while True:
    #os.system('clear')
    print('-------------------------------')
    print('*******************************')
    response = input('SELECT FROM FOLLOWING OPTIONS: \nStatement__(S) \nWithdraw___(W) \nLodgement__(L)  \nChange PIN_(P)  \nQuit_______(Q) \n: ').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],'RUPEES ON YOUR ACCOUNT.')
        print('*********************************************')
        print('---------------------------------------------')
        
    elif response == 'w':
        print('---------------------------------------------')
        print('*********************************************')
        cash_out = int(input('ENTER AMOUNT YOU WOULD LIKE TO WITHDRAW: '))
        print('*********************************************')
        print('---------------------------------------------')
        if cash_out%10 != 0:
            print('------------------------------------------------------')
            print('******************************************************')
            print('AMOUNT YOU WANT TO WITHDRAW MUST TO MATCH 10 RUPEES 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], 'RUPEES')
            print('***********************************')
            print('-----------------------------------')
            
    elif response == 'l':
        print()
        print('---------------------------------------------')
        print('*********************************************')
        cash_in = int(input('ENTER AMOUNT YOU WANT TO LODGE: '))
        print('*********************************************')
        print('---------------------------------------------')
        print()
        if cash_in%10 != 0:
            print('----------------------------------------------------')
            print('****************************************************')
            print('AMOUNT YOU WANT TO LODGE MUST TO MATCH 10 RUPEES NOTES')
            print('****************************************************')
            print('----------------------------------------------------')
        else:
            amounts[n] = amounts[n] + cash_in
            print('----------------------------------------')
            print('****************************************')
            print('YOUR NEW BALANCE IS: ', amounts[n], 'RUPEES')
            print('****************************************')
            print('----------------------------------------')
    elif response == 'p':
        print('-----------------------------')
        print('*****************************')
        new_pin = str(input('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(input('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:

ENTER USER NAME: "jitendra"
jitendra
------------------
******************
PLEASE ENTER PIN: 1111
******************
------------------
-------------------------
*************************
LOGIN SUCCESFUL, CONTINUE
*************************
-------------------------
()
--------------------------
**************************
('Jitendra', 'welcome to ATM')
**************************
----------ATM SYSTEM-----------
-------------------------------
*******************************
SELECT FROM FOLLOWING OPTIONS: 
Statement__(S) 
Withdraw___(W) 
Lodgement__(L) 
Change PIN_(P) 
Quit_______(Q) 
:

 

: "S"
*******************************
-------------------------------
---------------------------------------------
*********************************************
('Jitendra', 'YOU HAVE ', 1000, 'RUPEES ON YOUR ACCOUNT.')
*********************************************
---------------------------------------------
-------------------------------
*******************************
SELECT FROM FOLLOWING OPTIONS: 
Statement__(S) 
Withdraw___(W) 
Lodgement__(L) 
Change PIN_(P) 
Quit_______(Q) 
:

 

: "W"
*******************************
-------------------------------
---------------------------------------------
*********************************************
ENTER AMOUNT YOU WOULD LIKE TO WITHDRAW: 400
*********************************************
---------------------------------------------
-----------------------------------
***********************************
('YOUR NEW BALANCE IS: ', 600, 'RUPEES')
***********************************
-----------------------------------
-------------------------------
*******************************
SELECT FROM FOLLOWING OPTIONS: 
Statement__(S) 
Withdraw___(W) 
Lodgement__(L) 
Change PIN_(P) 
Quit_______(Q) 
: 

 

: "L"
*******************************
-------------------------------
()
---------------------------------------------
*********************************************
ENTER AMOUNT YOU WANT TO LODGE: 150
*********************************************
---------------------------------------------
()
----------------------------------------
****************************************
('YOUR NEW BALANCE IS: ', 750, 'RUPEES')
****************************************
----------------------------------------
-------------------------------
*******************************
SELECT FROM FOLLOWING OPTIONS: 
Statement__(S) 
Withdraw___(W) 
Lodgement__(L) 
Change PIN_(P) 
Quit_______(Q) 
: 

 

: "P"
*******************************
-------------------------------
-----------------------------
*****************************
ENTER A NEW PIN: 1234
*****************************
-----------------------------
------------------
******************
CONFIRM NEW PIN: 1234
*******************
-------------------
NEW PIN SAVED
-------------------------------
*******************************
SELECT FROM FOLLOWING OPTIONS: 
Statement__(S) 
Withdraw___(W) 
Lodgement__(L) 
Change PIN_(P) 
Quit_______(Q) 
: 

 

Leave a Reply

Your email address will not be published. Required fields are marked *