PROJECT REPORT
(Project Term August-December 2022)
ATM For A Single User
Submitted by
NAME Registration Number
Chitresh Kumar Jana 12211989
Chakala Govardhan Sai 12211742
Project Group Number: 23
Course Code: INT108
Under the Guidance of
Amandeep Kaur
School of Computer Science and Engineering
• Introduction:- We got the project from our Python Professor
Amandeep Kaur to create a program for using as an one person ATM. First
we researched on how a ATM system works. after that we created the
program as a single person useable ATM system. In this program we used the
knowledge we got from begging of the Python study to now.
• Profile of the Problem:- We got this problem for work “You task is to
replicate the working of ATM for a single user, let’s say, Mr. John, who has
already successfully logged into her account on the ATM Machine, now, we
will program the next steps he may want to perform.
Like display his name and cash available in his savings account
Withdraw cash and display the status of the cash balance.
Deposit cash and display the status of the cash balance.
(Your task is to design and implement the ATM functionality by taking care of
all constraints, for example if minimum cash available is less than 5000 then
system will display low balance)”
As human civilization increased in science we got computer now most of the
human life is computer based and the usage of computer also increased in
banks now we have ATM a type of computer based banking system almost
everywhere. And computer runs on software so ATM. As the problem says
our objective is to create a program to be used as an ATM system.
• Software Requirement Analysis:- In this project we used PyCharm
software for coding and running the program.
• About PyCharm:- PyCharm is one of the most popular Python IDEs.
There are many reasons for this including the fact that it was developed by
JetBrains, the developer behind the popular IntelliJ IDEA IDE which is one of
the largest Java 3 IDEs and WebStorm's "Best JavaScript IDE". Having
support for web development leveraging Django is another strong point.
Several factors make PyCharm one of the best integrated development
environments for working with the Python programming language.
• About Our Program:- We created the program in PyCharm and it
works on all other IDE such as Microsoft Visual Studio, Python, Python 3.10
etc. There is no requirement to run our code if any one has a system which can
run a python program they can also run our system.
• Code:
• import time as t
user_pin = 9876
user_balance = 97432.50
user_name = "Mr.raju"
print("Welcome to your bank account", user_name, end = "\n\n")
choice =0
while (True):
print("\t\t0. Logout and Exit")
print("\t\t1. View Account Balance")
print("\t\t2. Withdraw Cash")
print("\t\t3. Deposit Cash")
print("\t\t4. Change PIN")
print("\t\t5. Return Card")
try:
choice = int(input("Enter number to proceed > "))
print("\n\n")
except:
print("select from the above input")
continue
if choice == 0:
print("Exiting...")
t.sleep(2)
print("You have been logged out. Thank you!\n\n")
break
elif choice in (1, 2, 3, 4, 5):
num_of_tries = 3
while (num_of_tries != 0):
input_pin = int(input("Please enter your 4-digit
PIN > "))
if input_pin == user_pin:
print("Account auhtorized!\n\n")
if choice == 1:
print("Loading Account Balance...")
t.sleep(1.5)
print("Your current balance is Rs.",
user_balance, end="\n\n\n")
break
elif choice == 2:
print("Opening Cash Withdrawal...")
t.sleep(1.5)
while (True):
withdraw_amt = float(input("Enter the
amount you wish to withdraw > "))
if withdraw_amt > user_balance:
print("Can't withdraw Rs.",
withdraw_amt)
print("Please enter a lower amount!
>",user_balance)
continue
else:
print("Withdrawing Rs.",
withdraw_amt)
confirm = input("Confirm? Y/N > ")
if confirm in ('Y', 'y'):
user_balance -= withdraw_amt
print("Amount withdrawn - Rs.",
withdraw_amt)
print("Remaining balance -
Rs.", user_balance, end="\n\n\n")
break
else:
print("Cancelling
transaction...")
t.sleep(1)
print("Transaction
Cancelled!\n\n")
break
break
elif choice == 3:
print("Loading Cash Deposit...")
t.sleep(1.5)
deposit_amt = float(input("Enter the amount
you wish to deposit > "))
print("Depositing Rs.", deposit_amt)
confirm = input("Confirm? Y/N > ")
if confirm in ('Y', 'y'):
user_balance += deposit_amt
print("Amount deposited - Rs.",
deposit_amt)
print("Updated balance - Rs.",
user_balance, end="\n\n\n")
else:
print("Cancelling transaction...")
t.sleep(1)
print("Transaction Cancelled!\n\n")
break
elif choice == 4:
print("Loading PIN Change...")
t.sleep(1.5)
pin_new = int(input("Enter your new PIN >
"))
print("Changing PIN to", pin_new)
confirm = input("Confirm? Y/N > ")
if confirm in ('Y', 'y'):
user_pin = pin_new
print("PIN changed successfully! \n\n")
else:
print("Cancelling PIN change...")
t.sleep(1)
print("Process Cancelled!\n\n")
break
else:
print("Loading Card Return...")
t.sleep(1.5)
print("Returning your ATM Card")
confirm = input("Confirm? Y/N > ")
if confirm in ('Y', 'y'):
print("Card returned successfully!
\n\n")
else:
print("Cancelling process...")
t.sleep(1)
print("Process Cancelled!\n\n")
break
else:
num_of_tries -= 1
print("PIN incorrect! Number of tries left -",
num_of_tries, end="\n\n")
else:
print("Exiting...")
t.sleep(2)
print("You have been logged out. Thank you!\n\n")
break
else:
print("Invalid input!")
print("\t\t0. Enter 0 to Logout and Exit!")
continue
• Screenshots:- We tested our program in many interpreter and here is some
screenshots of Python 3.10
Thank You