# 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