A SIMPLE BMI CALCULATOR A PROJECT REPORT
Submitted by
AKILAN P (927624BME005)
in partial fulfilment for the award of the
Course of
MGB1201 – PYTHON PROGRAMMING
IN
MECHANICAL ENGINEERING
[Link] COLLEGE OF ENGINEERING,
KARUR
NOV / DEC - 2025
i
[Link] COLLEGE OF ENGINEERING, KARUR
BONAFIDE CERTIFICATE
Certified that this project report “A SIMPLE BMI CALCULATOR” the bonafide
work of AKILAN P (927624BME005) who carried out the project work during the
academic year 2025 – 2026 under my supervision. Certified further, that to the best of my
knowledge the work reported herein does not form part of any other project report or
dissertation on the basis of which a degree or award was conferred on an earlier occasion
on this or any other candidate.
SIGNATURE SIGNATURE
Dr. M. LOGANATHAN M.E., Ph.D., [Link] M.E., PhD.,
HEAD OF THE DEPARTMENT SUPERVISOR
Department of Mechanical Engineering, Department of Mechanical Engineering,
[Link] College of Engineering, [Link] College of Engineering,
Thalavapalayam, Karur-639113. Thalavapalayam, Karur-639113.
This project report has been submitted for the end semester project viva - voce examination
held on
INTERNAL EXAMINER
ii
ACKNOWLEDGEMENT
We gratefully remember our beloved Founder Chairman, (Late) Thiru. M.
Kumarasamy, whose vision and legacy laid the foundation for our education and
inspired us to successfully complete this project.
We extend our sincere thanks to Dr. K. Ramakrishnan, Chairman, and Mr. K. R.
Charun Kumar, Joint Secretary, for providing excellent infrastructure and continuous
support throughout our academic journey.
We are privileged to extend our heartfelt thanks to our respected Principal, Dr. B.
[Link], [Link]., Ph.D., for providing us with a conducive environment and
constant encouragement to pursue this project work.
We sincerely thank [Link], M.E., Ph.D., Professor and Head,
Department of Mechanical Engineering, for his continuous support, valuable guidance,
and motivation throughout the course of this project.
Our special thanks and deep sense of appreciation go to our Project Supervisor,
Dr. [Link], M.E., Ph.D., Associate Professor, Department of Mechanical
Engineering, for his exceptional guidance, continuous supervision, constructive
suggestions, and unwavering support, all of which have been instrumental in the
successful execution of this project.
We gratefully thank all the faculty members of the Department of Mechanical
Engineering for their timely assistance, valuable insights, and constant support during
various phases of the project.
Finally, we extend our profound gratitude to our parents and friends for their
encouragement, moral support, and motivation, without which the successful completion
of this project would not have been possible.
iii
INSTITUTION VISION & MISSION
Vision
To emerge as a leader among the top institutions in the field of technical education.
Mission
Produce smart technocrats with empirical knowledge who can surmount the global
challenges.
Create a diverse, fully-engaged, learner-centric campus environment to provide quality
education to the students.
Maintain mutually beneficial partnerships with our alumni, industry and professional
associations.
DEPARTMENT VISION, MISSION, PEO, PO & PSO Vision
To be a hub of excellence that nurtures Mechanical Engineers who lead through
innovation, research, and entrepreneurship, providing sustainable engineering solutions
to meet the dynamic challenges of industry and society.
Mission
Mission 1 – Quality Learning & Skill Development
To impart high-quality education in all fields of mechanical engineering, following a
rigorous curriculum, outcome-based teaching practices and involving modern
laboratories, which equip students with strong technical and analytical skills.
Mission 2 – Innovation, Research & Entrepreneurship
To foster a culture that encourages research, innovation and entrepreneurship, by
involving students in creative problem-solving, interdisciplinary projects, and active
collaboration with industries, research organizations, and incubation centers.
Mission 3 – Sustainability, Ethics & Societal Impact
To promote sustainable engineering practices, professional ethics, and social
responsibility by preparing the students to address real-time industrial problems and
societal challenges with integrity and environmental consciousness.
PROGRAM EDUCATIONAL OBJECTIVES (PEOS)
Graduates of the Mechanical Engineering Program will be prepared to
iv
PEO1: excel as competent Mechanical Engineers who can apply
strong technical knowledge, analytical skills, and modern
engineering tools to solve real-world industrial challenges. PEO2: contribute to innovation and
technological advancement through research, creative problem-solving, and entrepreneurial
initiatives in all mechanical and allied engineering fields. PEO3: demonstrate professional
ethics, environmental consciousness, and social responsibility by providing sustainable
engineering solutions, which can address evolving industrial and societal needs.
KNOWLEDGE AND ATTITUDE PROFILE (WK)
WK1: A systematic, theory-based understanding of the natural sciences applicable to the
discipline and awareness of relevant social sciences.
WK2: Conceptually-based mathematics, numerical analysis, data analysis, statistics and
formal aspects of computer and information science to support detailed analysis and
modelling applicable to the discipline.
WK3: A systematic, theory-based formulation of engineering fundamentals required in
the engineering discipline.
WK4: Engineering specialist knowledge that provides theoretical frameworks and
bodies of knowledge for the accepted practice areas in the engineering discipline; much
is at the forefront of the discipline.
WK5: Knowledge, including efficient resource use, environmental impacts, whole-life
cost, re-use of resources, net zero carbon, and similar concepts, that supports
engineering design and operations in a practice area.
WK6: Knowledge of engineering practice (technology) in the practice areas in the
engineering discipline.
WK7: Knowledge of the role of engineering in society and identified issues in
engineering practice in the discipline, such as the professional responsibility of an
engineer to public safety and sustainable development.
WK8: Engagement with selected knowledge in the current research literature of the
discipline, awareness of the power of critical thinking and creative approaches to
evaluate emerging issues.
v
WK9: Ethics, inclusive behavior and conduct. Knowledge of
professional ethics, responsibilities, and norms of engineering
practice. Awareness of the need for diversity by reason of ethnicity, gender, age, physical
ability etc. with mutual understanding and respect, and of inclusive attitudes.
PROGRAM OUTCOMES
The following are the Programs Outcomes of Engineering Graduates Engineering
Graduates will be able to:
1. Engineering Knowledge: Apply knowledge of mathematics, natural science,
computing, engineering fundamentals and an engineering specialization as specified
in WK1 to WK4 respectively to develop to the solution of complex engineering
problems.
2. Problem Analysis: Identify, formulate, review research literature and analyze
complex engineering problems reaching substantiated conclusions with
consideration for sustainable development. (WK1 to WK4)
3. Design/Development of Solutions: Design creative solutions for complex
engineering problems and design/develop systems/components/processes to meet
identified needs with consideration for the public health and safety, whole-life cost,
net zero carbon, culture, society and environment as required. (WK5)
4. Conduct Investigations of Complex Problems: Conduct investigations of complex
engineering problems using research-based knowledge including design of
experiments, modelling, analysis & interpretation of data to provide valid
conclusions. (WK8).
5. Engineering Tool usage: Create, select and apply appropriate techniques, resources
and modern engineering & IT tools, including prediction and modelling recognizing
their limitations to solve complex engineering problems. (WK2 and WK6)
6. The Engineer and The World: Analyze and evaluate societal and environmental
aspects while solving complex engineering problems for its impact on sustainability
with reference to economy, health, safety, legal framework, culture and environment.
(WK1, WK5, and WK7)..
7. Ethics: Apply ethical principles and commit to professional ethics, human values,
diversity and inclusion; adhere to national & international laws. (WK9)
vi
8. Individual and Collaborative Team work: Function
effectively as an individual, and as a member or leader in
diverse/multi-disciplinary teams.
9. Communication: Communicate effectively and inclusively within the engineering
community and society at large, such as being able to comprehend and write effective
reports and design documentation, make effective presentations considering cultural,
language, and learning differences.
10. Project Management and Finance: Apply knowledge and understanding of
engineering management principles and economic decision-making and apply these
to one’s own work, as a member and leader in a team, and to manage projects and in
multidisciplinary environments.
11. Life-long learning: Recognize the need for, and have the preparation and ability for
i) independent and life-long learning ii) adaptability to new and emerging
technologies and iii) critical thinking in the broadest context of technological change.
(WK8)
PROGRAM SPECIFIC OUTCOMES (PSOs)
The following are the Program Specific Outcomes of Engineering Graduates: The
students will demonstrate the abilities
1. Identify and select suitable manufacturing techniques, tooling, machinery, and
implement quality assurance procedures to produce diverse components and
systems.
2. Specify, design, analyze and test the machine components and mechanical systems
as per the specified standards and safety processes using cutting-edge technologies.
3. Specify, test and estimate the performance of fluid flow systems, thermal systems
by applying the principle of mass, momentum and energy conversions.
vii
ABSTRACT
This project focuses on the development of a simple and efficient Body Mass
Index (BMI) calculator using Python programming. The primary objective of the
project is to create a basic tool that can quickly evaluate an individual's BMI
based on two essential inputs—weight and height. BMI is a widely used indicator
for assessing whether a person has a healthy body weight relative to their height,
making it a useful parameter for general health screening.
The Python-based BMI calculator utilizes the standard BMI formula, where BMI
is computed as weight divided by the square of height. After calculation, the
program categorizes the result into predefined health classifications such as
underweight, normal weight, overweight, and obese. These categories help users
understand their health status in a simple and clear manner.
The program demonstrates fundamental concepts in Python, including variable
handling, user input functions, arithmetic operations, and conditional branching.
Its straightforward structure makes it suitable for beginners who are learning
programming and wish to develop functional applications. The tool also offers
practical relevance as it can be used for quick health checks in everyday life.
Overall, this project highlights how basic Python programming can be applied to
create meaningful applications related to health and wellness. The BMI
calculator is simple, user-friendly, and efficient, serving as an introductory
project that combines computational logic with real-world utility.
viii
TABLE OF CONTENT
CHAPTE
TITLE PAGE NO
R NO
ABSTRACT viii
INTRODUCTION
1
1.1 PROBLEM STATEMENT
1.2 INTRODUCTION
1.3 PYTHON PROGRAMMING CONCEPTS
1.4 OBJECTIVE
PROJECT METHODOLOGY
2
2.1 PROPOSED WORK
2.2 ARCHITECTURE
SOFTWARE REQUIREMENTS
3
MODULE DESCRIPTION
4
4.1 USER INTERFACE MODULE
4.2 BMI CALCULATION MODULE
4.3 BMI CATEGORY MODULE
IMPLEMENTATION
5
5.1 CODING
SNAPSHOTS
CONCLUSION
REFERENCES
ix
CHAPTER 1
INTRODUCTION
The Body Mass Index (BMI) Calculator project is a simple yet effective Python-based application
developed to assess an individual's health status by evaluating their body weight relative to their height. BMI
is a widely recognized metric used in healthcare to categorize people into different weight-related groups such
as underweight, normal, overweight, and obese. This project integrates fundamental programming concepts
with a practical health-oriented application, making it both educational and useful for everyday users.
The program is designed with user interactivity in mind, featuring a smooth input process and a unique
slowprint animation effect that enhances user experience. It allows users to enter their weight and height,
calculates BMI using a lambda function, and displays the results along with the corresponding health category.
The program also includes built-in input validation to ensure that only positive numerical values are accepted,
thereby reducing errors and improving accuracy.
By using functions such as input handling, condition checking, lambda expressions, and looping structures,
this project demonstrates key Python concepts in a structured and beginner-friendly manner. The inclusion of
continuous calculation options allows users to perform multiple BMI evaluations in a single session, increasing
its practicality. Overall, the project showcases how Python can be used to build interactive console applications
that combine computational logic with real-world usefulness.
1.1 PROBLEM STATEMENT:
Maintaining a healthy body weight is crucial for overall well-being, yet many individuals lack a simple and
quick method to assess their weight status. Manual BMI calculation can be prone to errors and may be
inconvenient for regular monitoring. There is a need for a user-friendly tool that can accurately compute BMI,
categorize health status, and allow repeated evaluations without complexity. This project aims to solve this
problem by developing an interactive Python-based BMI calculator that performs accurate calculations,
validates user inputs, and provides instant feedback on health categories.
x
1.2 INTRODUCTION:
The Body Mass Index (BMI) Calculator project is a Python-based application designed to determine an
individual's BMI using weight and height inputs. BMI is a widely used health indicator that helps classify
individuals into categories such as underweight, normal weight, overweight, and obese. This project
demonstrates the practical use of Python programming to build an interactive console application that blends
computational logic with health awareness.
The program uses essential Python features like lambda functions, loops, conditional statements, and custom
functions to provide an accurate and user-friendly experience. To enhance user interaction, the output is
displayed using a slow-print animation, making the program visually appealing. Input validation ensures that
only proper numerical values are accepted, making the tool reliable and suitable for repeated use. Overall, this
project serves as an excellent example of how basic Python concepts can be applied to create meaningful and
real-world applications.
1.3 PYTHON PROGRAMMING CONCEPTS USED:
❖ Lambda Function
A lambda expression is used to calculate BMI concisely, improving code readability and demonstrating
functional programming concepts.
❖ Functions
Multiple user-defined functions are created for tasks such as input validation, BMI calculation, category
identification, and animated text display. This modular approach improves code structure and
maintainability.
❖ Conditional Statements (if-elif-else)
These are used to classify BMI results into categories such as underweight, normal weight, overweight,
and obese.
❖ Loops
A while loop is used to allow continuous BMI calculations until the user decides to exit, making the
program interactive and flexible.
xi
❖ Exception Handling (try-except)
Used for validating user input and preventing the program from crashing due to non-numeric entries.
❖ String Handling & Printing Techniques
A custom slow-print function uses [Link]() and [Link]() to create a typing animation effect
1.4 OBJECTIVE:
To develop a simple and accurate BMI calculator using Python.
It computes BMI based on user inputs for weight and height using the standard BMI formula.
To classify BMI results into meaningful health categories.
This helps users easily understand their health status.
To demonstrate the practical application of Python programming concepts.
The project highlights the use of functions, conditional logic, loops, lambda expressions, and exception
handling.
To create a user-friendly and interactive console tool.
Features like input validation and slow-print animation improve the overall user experience.
To offer a reusable and efficient program.
The loop structure allows multiple BMI calculations in one session without restarting the program.
xii
CHAPTER 2
PROJECT METHODOLOGY
The methodology followed in this project is a structured approach to designing, developing, and validating
a Python-based BMI calculator. The development process begins with identifying the problem and
understanding the BMI calculation formula. After finalizing requirements, the program is designed using
modular functions to ensure clarity and easy maintenance.
The implementation phase includes coding essential components such as user input validation, BMI
calculation using a lambda expression, category classification using conditional statements, and enhanced user
interaction through a slow-print animation technique. Testing is carried out by providing different sets of inputs
to verify accuracy, stability, and error handling. The methodology ensures that the final program is interactive,
reliable, and user-friendly.
2.1 PROPOSED WORK:
The proposed work focuses on creating a Python application that calculates BMI and categorizes the user’s
health condition in a simple yet efficient manner. The proposed system includes the following:
1. Input Module:
Accepts weight and height from the user with proper validation to prevent invalid entries.
2. BMI Calculation Module:
Uses a lambda function to compute BMI using the formula:
𝐵𝑀𝐼 = 𝑤𝑒𝑖𝑔ℎ𝑡/ℎ𝑒𝑖𝑔ℎ𝑡^2
3. Category Identification Module:
Determines whether the calculated BMI falls under underweight, normal weight, overweight, or obese
categories.
4. Display Module:
Uses a slow-print animation to show results clearly and improve user engagement.
xiii
5. Repetition Control Module:
Provides an option to calculate BMI multiple times without restarting the program.
2.2 ARCHITECTURE OF THIS PROJECT:
xiv
xv
CHAPTER 3
SOFTWARE REQUIREMENTS
The development of the BMI Calculator program requires specific software tools and environments to ensure
smooth execution, easy debugging, and proper user interaction. The following software requirements were
identified for implementing and running the project efficiently:
1. Operating System
• Windows 10 / 11, Linux, or macOS
• Any OS capable of running Python and command-line applications.
2. Programming Language
• Python 3.8 or above
The project uses features such as lambda expressions, exception handling, and modular functions, all
available in modern Python versions.
3. Python Interpreter / IDE Any one of the following:
• Python IDLE (comes bundled with Python)
• VS Code with Python extension
• PyCharm Community Edition
• Jupyter Notebook (optional)
• Command Prompt / Terminal for execution
These environments allow easy writing, debugging, and running of Python scripts.
4. Required Python Libraries
The project relies only on Python’s built-in libraries, so no external installations are required. Built-in modules
used:
xvi
• sys – for output flushing in slow-print function
• time – for adding delay animation
• Built-in functions – input(), print(), float(), and exception handling
5. Text Editor (Optional)
• Notepad / Notepad++
• Sublime Text Used only for code editing if IDEs are not preferred.
6. Hardware Requirements (Optional but Recommended)
Although not software, these impact the software environment:
• Minimum 2 GB RAM
• Basic processor capable of running Python
• Keyboard and monitor for user interaction
xvii
CHAPTER 4
MODULE DESCRIPTION
The BMI Calculator project is divided into several functional modules to ensure clarity, modularity, and
smooth execution. Each module handles a specific task such as user interaction, BMI computation, and BMI
classification. The modular structure makes the program easy to understand, debug, and extend in the future.
4.1 USER INTERFACE MODULE :
The User Interface (UI) Module manages the interaction between the user and the system. It is responsible
for collecting user inputs—weight and height—while ensuring that the values entered are valid numerical
inputs. This module uses exception handling to prevent errors and repeatedly prompts the user until correct
data is provided.
The UI also incorporates a slow-print animation using the slow_print() function, which enhances the visual
experience by displaying text in a typewriter-like style. After the BMI is computed, this module displays the
final BMI value and corresponding category. It additionally provides an option for the user to either repeat the
calculation or exit the program, making the application interactive and user-friendly.
4.2 BMI CALCULATION MODULE:
This module handles the core functionality of computing the Body Mass Index. Using a lambda function:
𝐵𝑀𝐼 = 𝑤𝑒𝑖𝑔ℎ𝑡 /ℎ𝑒𝑖𝑔ℎ𝑡^2
The module receives validated inputs from the UI module and performs the mathematical computation. It
ensures accurate calculation and returns the BMI value to the result display module. The use of a lambda
expression keeps the computation concise, efficient, and readable.
This module forms the computational backbone of the project.
xviii
4.3 BMI CATEGORY MODULE :
The BMI Category Module determines the health classification based on the calculated BMI value. It uses
conditional statements to categorize users into:
• Underweight
• Normal weight
• Overweight
• Obese
The logic applied is:
• BMI < 18.5: Underweight
• 18.5 – 24.9: Normal weight
• 25 – 29.9: Overweight
• ≥ 30: Obese
This module ensures users understand the significance of their BMI value by translating numerical results into
meaningful health categories. It serves as the interpretative component of the system.
xix
CHAPTER 5
IMPLEMENTATION
xx