Python_Microproject[by Sahil]
Python_Microproject[by Sahil]
“Scientific Calculator”
Submitted by:
Ghananil K. Shirpurkar
Tushar M. Deshpande
Sahil R. Chavhan
Vedika R. Dahake
Mohd. Saqlain S. Raza
Submitted to:
CertifiCate
This is to certify, that the student whose name is mentioned below of Fifth Semester of Diploma in
Computer Engineering has satisfactorily completed the Micro-Project entitled Scientific Calculator.
in the subject of Programming With Python (22616) for the academic year 2024-2025 as prescribed
in MSBTE curriculum.
Place: Arvi
Date: / / 2025
DeClaration
We under signed hereby declare that the Micro-Project report entitled “Scientific Calculator”
contents is the outcome of our own literature survey. We further declare that the contents of this
report are properly citied and well acknowledge. This present report is not submitted to any other
examination of this or any other institute for the award of any diploma.
(Signature)
1) G.K.Shirpurkar
2) T. M. Deshpande
3) S.R. Chavhan
4) V.R. Dahake
5) S.S. Raza
Place: Arvi
Date: / /
2025
PART A – Micro-Project Proposal
“Scientific Calculator”
1. Brief Introduction:
The aim of this micro project is to develop a Python-based scientific calculator that
performs arithmetic, trigonometric, logarithmic, and exponential operations using the
Tkinter library for a user-friendly GUI. It ensures accuracy, efficiency, and error handling
for reliable computations. The project follows an event-driven approach, making it
interactive and scalable for academic and professional use.
\
4. Literature Review:
The development of scientific calculators has evolved significantly over the years,
from basic handheld devices to software-based implementations. Traditional scientific
calculators, such as Casio and Texas Instruments models, rely on embedded hardware and
firmware to execute mathematical operations efficiently. However, with the advancement of
programming languages like Python, software-based calculators have become more
accessible and customizable. Various studies highlight the role of Python’s math module in
handling complex computations, including trigonometric, logarithmic, and exponential
functions. Research also emphasizes the effectiveness of Graphical User Interface (GUI)
development using the Tkinter library, which allows for a structured and interactive approach
to designing software-based calculators. By leveraging Python’s flexibility and built-in
mathematical functions, modern scientific calculators can provide greater accuracy and ease
of use compared to traditional hardware-based counterparts.
Several academic studies and research papers focus on the importance of GUI-based
applications in enhancing user experience and usability. The Tkinter framework, which is
widely used for Python GUI applications, has been recognized for its simplicity and
efficiency in developing interactive tools. Compared to other GUI frameworks like PyQt and
Kivy, Tkinter is lightweight and requires minimal dependencies, making it an ideal choice for
micro projects and desktop applications. Additionally, literature on event-driven
programming highlights how button-based input systems improve responsiveness and user
engagement. Studies suggest that implementing error-handling techniques in calculators—
such as managing division by zero, invalid inputs, and undefined mathematical operations—
significantly enhances reliability. Research also indicates that modular programming
techniques help maintain code efficiency, allowing for easier debugging and future upgrades
to include additional mathematical functions.
The integration of scientific computing in Python-based projects has also been a focus
of modern research. Studies in computational mathematics emphasize the use of libraries
such as NumPy and SymPy for symbolic and numerical calculations, which can further
enhance the capabilities of scientific calculators. Moreover, research on cross-platform
development suggests that Python-based applications can be extended beyond desktop
environments to web-based and mobile platforms using frameworks like Flask, Django, and
Kivy. The potential for further development in this field is vast, with studies exploring how
artificial intelligence (AI) and machine learning (ML) can be incorporated to automate and
optimize complex mathematical problem-solving. Overall, the literature supports the
feasibility and effectiveness of using Python for scientific calculator development,
reinforcing its practicality for educational and professional use.
5. Proposed Methodology :
6. Resources Required
Sr.no Name of Resource/Material Specification Quantity Remark
1. Computer (i3-i5) Preferable 1 -
Ram minimum 2
GB
2. Operating System Windows 11 1 -
3. Software MS-Word ,VS Code 1 -
7. Action Plan
8. Group Members
Roll No. Student Name Enrollment No. Signature
51 G.K.Shirpurkar 2201320320
50 T. M. Deshpande 2201320319
1.Rational:
\
3. Literature Review:
The development of scientific calculators has evolved significantly over the years,
from basic handheld devices to software-based implementations. Traditional scientific
calculators, such as Casio and Texas Instruments models, rely on embedded hardware and
firmware to execute mathematical operations efficiently. However, with the advancement of
programming languages like Python, software-based calculators have become more
accessible and customizable. Various studies highlight the role of Python’s math module in
handling complex computations, including trigonometric, logarithmic, and exponential
functions. Research also emphasizes the effectiveness of Graphical User Interface (GUI)
development using the Tkinter library, which allows for a structured and interactive approach
to designing software-based calculators. By leveraging Python’s flexibility and built-in
mathematical functions, modern scientific calculators can provide greater accuracy and ease
of use compared to traditional hardware-based counterparts.
Several academic studies and research papers focus on the importance of GUI-based
applications in enhancing user experience and usability. The Tkinter framework, which is
widely used for Python GUI applications, has been recognized for its simplicity and
efficiency in developing interactive tools. Compared to other GUI frameworks like PyQt and
Kivy, Tkinter is lightweight and requires minimal dependencies, making it an ideal choice for
micro projects and desktop applications. Additionally, literature on event-driven
programming highlights how button-based input systems improve responsiveness and user
engagement. Studies suggest that implementing error-handling techniques in calculators—
such as managing division by zero, invalid inputs, and undefined mathematical operations—
significantly enhances reliability. Research also indicates that modular programming
techniques help maintain code efficiency, allowing for easier debugging and future upgrades
to include additional mathematical functions.
The integration of scientific computing in Python-based projects has also been a focus
of modern research. Studies in computational mathematics emphasize the use of libraries
such as NumPy and SymPy for symbolic and numerical calculations, which can further
enhance the capabilities of scientific calculators. Moreover, research on cross-platform
development suggests that Python-based applications can be extended beyond desktop
environments to web-based and mobile platforms using frameworks like Flask, Django, and
Kivy. The potential for further development in this field is vast, with studies exploring how
artificial intelligence (AI) and machine learning (ML) can be incorporated to automate and
optimize complex mathematical problem-solving. Overall, the literature supports the
feasibility and effectiveness of using Python for scientific calculator development,
reinforcing its practicality for educational and professional use.
4. Actual Methodology Followed:
o First, I think about topic and then decided the topic of project.
o We focused on the materials we needed, as well as gathered information about Scientific Calculator.
o Collecting some pictures about network hacking for describing much better and easily.
o Prepared a report and Checked for any further changes to be done in the project.
def evaluate_expression(expression):
try:
result = str(eval(expression, {"__builtins__": None}, math.__dict__))
return result
except Exception as e:
return "Error"
def on_button_click(char):
if char == "=":
result = evaluate_expression(entry.get())
entry.delete(0, tk.END)
entry.insert(tk.END, result)
elif char == "C":
entry.delete(0, tk.END)
elif char == "Del":
current_text = entry.get()
entry.delete(0, tk.END)
entry.insert(tk.END, current_text[:-1])
else:
entry.insert(tk.END, char)
root = tk.Tk()
root.title("Scientific Calculator")
root.configure(bg="#2b2b2b")
buttons = [
('7', "#d3d3d3", 1, 0), ('8', "#d3d3d3", 1, 1), ('9', "#d3d3d3", 1, 2), ('/',
"#87ceeb", 1, 3), ('sin', "#87ceeb", 1, 4), ('cos', "#87ceeb", 1, 5),
('4', "#d3d3d3", 2, 0), ('5', "#d3d3d3", 2, 1), ('6', "#d3d3d3", 2, 2), ('*',
"#87ceeb", 2, 3), ('tan', "#87ceeb", 2, 4), ('log', "#87ceeb", 2, 5),
('1', "#d3d3d3", 3, 0), ('2', "#d3d3d3", 3, 1), ('3', "#d3d3d3", 3, 2), ('-',
"#87ceeb", 3, 3), ('sqrt', "#87ceeb", 3, 4), ('^', "#87ceeb", 3, 5),
('0', "#d3d3d3", 4, 0), ('.', "#d3d3d3", 4, 1), ('=', "#87ceeb", 4, 2), ('+',
"#87ceeb", 4, 3), ('(', "#87ceeb", 4, 4), (')', "#87ceeb", 4, 5),
('C', "#f44336", 5, 0), ('Del', "#f44336", 5, 1)
]
root.mainloop()
This project highlights the power of Python for GUI-based applications, showcasing the
ease of designing an interactive and functional interface using Tkinter. The modular and event-
driven programming approach allows for scalability and future enhancements, such as the
inclusion of graph plotting, unit conversions, and AI-powered calculations. The successful
completion of this project serves as a stepping stone for further advancements in scientific
computing and software development.
· References:
o https://www.geeksforgeeks.org/scientific-gui-calculator-using-tkinter-in-python/
o https://medium.com/@rahulmallah785671/build-your-own-scientific-calculator-with-python-
a-step-by-step-guide-15bbf0419325
o https://github.com/kostasthanos/Tkinter-Calculator
o https://www.youtube.com/watch?v=B5g-gnHlLIA