How to Make a Tip Calculator in Python

Let’s Learn together:
This blog helps to write Python code that will calculate tips for a restaurant bill and share the money among friends, Also we will discuss the various concepts used to write this code
Below are concepts, That we need to be aware of to write this code. If you want to skip to the tip calculator code directly check here
- Data type
- Type Conversion
- Mathematical Operations
- Number Manipulation
Data Type & Type Conversion
Data types are just a classification of data, So based on that we can decide, which operator can be used to manipulate the data.
Some the example of datatype
- String
- Integer
- Float
- Boolean
Let’s try a quick example, To understand why datatype is needed
If you want to get a length of a string, we can use len() function (To know more about len() check here)
Print (len(“python”)) => 5
The above code will give you the number of chars in the word “python”
Let’s pass a numeric value to the len() function and see what happens,
Print (len(123))
TypeError: object of type 'int' has no len() on line 1
Yes, This will break the code and will show the “TypeError”, Where it is expecting a string but got an integer value
To resolve the issue, we can just convert the integer to a string as below and this is called “Type Conversion“
print(len(str(123))) or print(len(“123”))
=> 3
Similarly, we can do this for float, integer, string
float (variable)
int(variable)
str(variable)
Python Mathematical Operations
Below are the types of mathematical operations used in python
- 2 + 2 – Addition
- 2 – 2 – Subtraction
- 2 * 2 – Multiplication
- 2 / 2 – Division
- 2 ** 2 – Exponential => 2 to the power of 2
If you have more than one operator in a code, There is a certain level of priority
PEMDAS – Priority of the operation from Left -> Right
- P – Parentheses
- E – Exponents
- M – Multiplication
- D – Division
- A – Addition
- S – Subtraction
Example
Let’s see, How the below code works with the above rules
print(3 * (3+3) /3-3)
- (3+3) = 6
- 3*6 = 18
- 18/3 = 6
- 6-3 = 3
3 is the Final Answer
Number Manipulation
It’s basically manipulating the numbers based on our needs. Will see a quick example
print (8/3) => will give a float number => 2.66666667
But, We need just 2 digits after the decimal point. For that, we can use the round function
Print (round(8/3,2)) => 2.67
Now, Let’s see, How to create a tip calculator by using the above concepts
Code Below
print("Welcome to the tip calculator\n") bill_amt=input("What was the total bill? ") tip_amt=input("What percentage tip you like to give? 10, 12 0r 15? ") split=input("How many people to split the bill? ") per_person=round((float(bill_amt)/int(split))*float("1."+tip_amt),2) final_amt="{:.2f}".format(per_person) print("Each person should pay:"+ final_amt)
Output:
Welcome to the tip calculator What was the total bill? 150 What percentage tip you like to give? 10, 12 0r 15? 12 How many people to split the bill? 5 Each person should pay:33.60
There are multiple ways to achieve the above program and I have shown you one of the ways, Please try the above code for yourself
Check here to check the code in the Python editor
We can have a quick exercise of creating the same program with a different logic and share it with us 🙂
Start a forum conversation or chat with us if you have any questions on the examples