0

This simple calculator program only prints the answer to 1 decimal place. I would like to print the answer to 2 decimal places. How can I add code to print the answer to 2 decimal places please? Here is the code:

# Program make a simple calculator

# This function adds two numbers
def add(x, y):
    return x + y

# This function subtracts two numbers
def subtract(x, y):
    return x - y

# This function multiplies two numbers
def multiply(x, y):
    return x * y

# This function divides two numbers
def divide(x, y):
    return x / y


print("Select operation.")
print("1.Add")
print("2.Subtract")
print("3.Multiply")
print("4.Divide")

while True:
    # Take input from the user
    choice = input("Enter choice(1/2/3/4): ")

    # Check if choice is one of the four options
    if choice in ('1', '2', '3', '4'):
        num1 = float(input("Enter first number: "))
        num2 = float(input("Enter second number: "))

        if choice == '1':
            print(num1, "+", num2, "=", add(num1,num2))

        elif choice == '2':
            print(num1, "-", num2, "=", subtract(num1,num2))

        elif choice == '3':
            print(num1, "*", num2, "=", multiply(num1,num2))

        elif choice == '4':
            print(num1, "/", num2, "=", divide(num1,num2))
        break
    else:
        print("Invalid Input")
Elliot
  • 13
  • 3
  • 1
    https://stackoverflow.com/a/6539677/4279889 – fazkan Aug 02 '21 at 23:14
  • 1
    `print(f"{num1} + {num2} = {num1+num2:.2f}")` – Samwise Aug 02 '21 at 23:18
  • You're asking about a non-existing problem here, this doesn't print the answer to 1 decimal place, it prints it to whichever decimal place is necessary. Inputting 4 for division, then 2 and three for 2/3 outputs "2.0 / 3.0 = 0.6666666666666666". If you tested this with some random equation, then that equation probably had an answer that literally only has one decimal place. – Sander Aug 02 '21 at 23:23

0 Answers0