Python Final Microproject
Python Final Microproject
Microproject On
Submitted By
Sinhgad Institutes
PUNE – 411041
1
Programming with Python (22616) ATM Management System.
2
Programming with Python (22616) ATM Management System.
Annexure – I
Micro-Project Proposal
3
Programming with Python (22616) ATM Management System.
1 33 Mangesh Kaware
Annexure–II
4
Programming with Python (22616) ATM Management System.
Micro-Project Proposal
1.0 Rationale:
This ATM management system, with a cardHolder class and atm.py script, employs object-
oriented programming to model cardholders and manage transactions efficiently. It ensures data
integrity through encapsulation and offers a user-friendly interface for banking operations,
enhancing security and user experience. The system provides essential functionalities such as
deposit, withdrawal, and balance check, catering to the core needs of banking operations while
maintaining simplicity and reliability.
A concise literature review on ATM system code in Python, covering various aspects:
5
Programming with Python (22616) ATM Management System.
1. Python Libraries/Frameworks:
Studies reveal a widespread adoption of Python libraries like Flask and Django for developing
ATM systems. Flask is praised for its simplicity, while Django offers a more comprehensive
framework. Researchers emphasize the importance of choosing the appropriate framework based
on project requirements.
Python's versatility in interfacing with hardware is evident in research showcasing its integration
with Raspberry Pi and Arduino platforms. Python's GPIO libraries and serial communication
capabilities make it a preferred choice for controlling and communicating with various hardware
components.
3. Security Considerations:
Security measures in Python-based ATM system are a focal point in the literature. Researchers
emphasize secure coding practices, SSL/TLS implementation, and the use of cryptographic
libraries. The community actively discusses the balance between security and performance in
Python-based systems.
4. Performance Assessments:
Performance assessments indicate that Python may face challenges in scenarios requiring real-
time processing. However, studies highlight optimizations using tools like Cython and Numba.
The choice of data structures and algorithms significantly impacts the overall performance of
Pythonbased ATM system.
6
Programming with Python (22616) ATM Management System.
Real-world applications showcase Python's effectiveness in diverse domains. From IoT devices
to industrial control systems, Python is utilized in projects with varying complexities. Case
studies underline Python's role in rapid prototyping and development, facilitating innovation in
ATM system projects.
The Python community's active involvement in supporting ATM system development is evident
in extensive documentation and vibrant forums. Open-source contributions and collaborative
problem-solving contribute to the robust ecosystem surrounding Python for ATM system
projects. In conclusion, the literature reflects Python's popularity in developing ATM systems,
highlighting strengths in flexibility, community support, and a balance between ease of use and
performance. Researchers emphasize the importance of careful framework selection, secure
coding practices, and optimization strategies to address specific project requirements.
7
Programming with Python (22616) ATM Management System
6.1 Code:
class cardHolder():
def _init_(self, cardNum, pin, firstname, lastname, balance): # Ensure
correct indentation
self.cardNum = cardNum
self.pin = pin
self.firstname = firstname
self.lastname = lastname
self.balance = balance
def print_out(self):
8
Programming with Python (22616) ATM Management System
def print_menu():
def deposit(cardHolder):
try:
deposit = float(input("How much money you want to depiosit: "))
cardHolder.set_balance(cardHolder.get_balance() + deposit)
print("Thanku you for your $$. Your new balance is:",
str(cardHolder.get_balance()))
except:
print("Invalid input")
def withdraw(cardHolder):
try:
withdraw = float(input("How much $$ would you like to withdraw:"))
### check if user has enough money
if(cardHolder.get_balance() < withdraw):
print("Insufficent balance :()")
else:
cardHolder.set_balance(cardHolder.get_balance - withdraw)
9
Programming with Python (22616) ATM Management System
def check_balance(cardHolder):
print("Your current balance is:", cardHolder.get_balance())
if __name__ == "_main_":
current_user = cardHolder("","","","",0.0)
10
Programming with Python (22616) ATM Management System
11
Programming with Python (22616) ATM Management System
6.2 Output:
7.0 Actual Resources Required:
During the course of this micro-project, we learned to create ATM Management System by using
python
a. We learnt various new syntaxes of python language.
b. We also learned Decision making Statements.
c. We also learnt function declaration in Java.
d. Also acquired knowledge of building blocks.
12
Programming with Python (22616) ATM Management System
11.0 Conclusion:
We learn to design ATM Management System using python, also we understood basic
fundamentals of ATM Management System as well as managing it.
12.0 Reference:
a. https://www.tutorialspoint.com/python/index.html
b. https://www.programiz.com/python-programming
c. http://spoken-tutorial.org/
d. https://docs.python.org/3/tutorial/errors.html
e. https://www.w3resource.com/python-exercises/
13