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

ATM Coding

This Python code is an ATM program that allows users to log in with a username and PIN, check their account balance and transaction statement, withdraw and deposit cash, and change their PIN. It stores user data like usernames, PINs and account balances in lists. It uses while loops and if/else statements to validate user input and actions like login, transactions and PIN changes. On successful login, a menu is displayed to select transactions and the relevant code blocks are executed based on the user's selection.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views

ATM Coding

This Python code is an ATM program that allows users to log in with a username and PIN, check their account balance and transaction statement, withdraw and deposit cash, and change their PIN. It stores user data like usernames, PINs and account balances in lists. It uses while loops and if/else statements to validate user input and actions like login, transactions and PIN changes. On successful login, a menu is displayed to select transactions and the relevant code blocks are executed based on the user's selection.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

#!

/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('------------------')

You might also like