From e49dbce21071eed21bf978ed141946dda4581bfb Mon Sep 17 00:00:00 2001 From: Pavel Vaks <129676672+PavelLinearB@users.noreply.github.com> Date: Wed, 19 Feb 2025 20:13:11 +0200 Subject: [PATCH 1/3] Create calc.py --- calc/calc.py | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 calc/calc.py diff --git a/calc/calc.py b/calc/calc.py new file mode 100644 index 0000000..efb526c --- /dev/null +++ b/calc/calc.py @@ -0,0 +1,55 @@ +# 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'): + try: + num1 = float(input("Enter first number: ")) + num2 = float(input("Enter second number: ")) + except ValueError: + print("Invalid input. Please enter a number.") + continue + + 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)) + + # check if user wants another calculation + # break the while loop if answer is no + next_calculation = input("Let's do next calculation? (yes/no): ") + if next_calculation == "no": + break + else: + print("Invalid Input") From 7bbb8292a46ed260817e0fe1489870656622adea Mon Sep 17 00:00:00 2001 From: PavelLinearB Date: Wed, 19 Feb 2025 20:18:51 +0200 Subject: [PATCH 2/3] fixed --- calc/calc.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/calc/calc.py b/calc/calc.py index efb526c..68d9314 100644 --- a/calc/calc.py +++ b/calc/calc.py @@ -12,6 +12,8 @@ def multiply(x, y): # This function divides two numbers def divide(x, y): + if y == 0: + raise ValueError("Cannot divide by zero") return x / y @@ -49,7 +51,7 @@ def divide(x, y): # check if user wants another calculation # break the while loop if answer is no next_calculation = input("Let's do next calculation? (yes/no): ") - if next_calculation == "no": + if next_calculation.lower() == "no": break else: print("Invalid Input") From e0bb99aa9ec6849a58010fca3351fc5fc1a8b06f Mon Sep 17 00:00:00 2001 From: Pavel Vaks <129676672+PavelLinearB@users.noreply.github.com> Date: Thu, 20 Feb 2025 19:31:02 +0200 Subject: [PATCH 3/3] Update calc.py --- calc/calc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/calc/calc.py b/calc/calc.py index 68d9314..4081c2d 100644 --- a/calc/calc.py +++ b/calc/calc.py @@ -27,7 +27,7 @@ def divide(x, y): # take input from the user choice = input("Enter choice(1/2/3/4): ") - # check if choice is one of the four options + # check if the choice is one of the four options if choice in ('1', '2', '3', '4'): try: num1 = float(input("Enter first number: "))