Hone logo
Hone
Problems

Simple Math Operations Calculator

This challenge focuses on implementing a basic calculator that performs fundamental mathematical operations. It's a great exercise to solidify your understanding of Python functions, user input, and conditional logic. The goal is to create a program that takes two numbers and an operation from the user and then calculates and displays the result.

Problem Description

You are tasked with creating a Python program that acts as a simple calculator. The program should:

  1. Prompt the user for two numbers (floating-point numbers).
  2. Prompt the user for an operation to perform. The allowed operations are:
    • + (Addition)
    • - (Subtraction)
    • * (Multiplication)
    • / (Division)
  3. Perform the selected operation on the two numbers.
  4. Handle potential errors:
    • Division by zero: If the user attempts to divide by zero, display an appropriate error message and exit gracefully.
    • Invalid operation: If the user enters an operation other than +, -, *, or /, display an error message and exit gracefully.
  5. Display the result of the calculation to the user, formatted to two decimal places.

Examples

Example 1:

Input:
Number 1: 10.5
Number 2: 5.2
Operation: +
Output:
Result: 15.70

Explanation: The program adds 10.5 and 5.2, resulting in 15.70.

Example 2:

Input:
Number 1: 20
Number 2: 4
Operation: /
Output:
Result: 5.00

Explanation: The program divides 20 by 4, resulting in 5.00.

Example 3:

Input:
Number 1: 8
Number 2: 0
Operation: /
Output:
Error: Cannot divide by zero.

Explanation: The program detects division by zero and displays an error message.

Example 4:

Input:
Number 1: 5
Number 2: 3
Operation: %
Output:
Error: Invalid operation. Please use +, -, *, or /.

Explanation: The program detects an invalid operation and displays an error message.

Constraints

  • The input numbers should be floating-point numbers.
  • The operation should be one of +, -, *, or /.
  • The program should handle division by zero gracefully.
  • The result should be formatted to two decimal places.
  • The program should exit after displaying the result or an error message.

Notes

  • Consider using try-except blocks to handle potential errors like ZeroDivisionError and ValueError (if the user enters non-numeric input).
  • You can use the input() function to get user input and the float() function to convert the input to floating-point numbers.
  • Use conditional statements (if, elif, else) to determine which operation to perform.
  • The round() function can be used to format the result to two decimal places. Alternatively, f-strings can be used for formatting.
  • Focus on clear and readable code. Good variable names and comments are encouraged.
Loading editor...
python