Question: def add(num1, num2): return num1 + num2 def sub(num1, num2): return num1 - num2 def mult(num1, num2): return num1 * num2 def

def add(num1, num2):
   return num1 + num2

def sub(num1, num2):
   return num1 - num2

def mult(num1, num2):
   return num1 * num2

def div(num1, num2):
   if num2 == 0:
       raise ZeroDivisionError("Cannot divide by zero")
   else:
       return num1 / num2


def isInRange(lr, hr, n):
   if n >= lr and n <= hr:
       return True
   else:
       return False

def promptContinue():
   while True:
       response = input("Would you like to perform another calculation? (y/n): ")
       if response.lower() == "y":
           return True
       elif response.lower() == "n":
           return False
       else:
           print("Invalid response, please enter 'y' or 'n'.")


while True:
   try:
       lowRange = float(input("Enter the lower range: "))
       highRange = float(input("Enter the higher range: "))

       num1 = float(input("Enter your First number: "))
       if not isInRange(lowRange, highRange, num1):
           raise ValueError("Number is outside range")

       num2 = float(input("Enter your Second number: "))
       if not isInRange(lowRange, highRange, num2):
           raise ValueError("Number is outside range")

       op = input("Enter the math operation you want to perform (+, -, *, /): ")
       if op not in ["+", "-", "*", "/"]:
           raise ValueError("Invalid operation selected.")

       if op == "+":
           result = add(num1, num2)
           print("The result of", num1, "+", num2, "=", result)
       elif op == "-":
           result = sub(num1, num2)
           print("The result of", num1, "-", num2, "=", result)
       elif op == "*":
           result = mult(num1, num2)
           print("The result of", num1, "*", num2, "=", result)
       elif op == "/":
           result = div(num1, num2)
           print("The result of", num1, "/", num2, "=", result)

   except ValueError as e:
       print("Invalid input:", e)

   except ZeroDivisionError as e:
       print("Error:", e)

   if not promptContinue():
       print("Thanks for using our calculator!")
       break

 

How to the following with the code above?

 

1) Move all the functions into W5_firstname_lastname_Mylib.py

2) Use import to include W5_firstname_lastname_Mylib into the code

3) Test the code and make sure that the prior code is still working (Create your own application/test in the program using the library)

4) Add the following function into Mylib

    scalc(p1)

    p1 will be a string like this "N1, N2, operator"

 

   examples

    scalc("20,30,*")

    the result will be 600

    scalc("50,20,+")

    the result will be 70

    scalc("50,20,-")

    the result will be 30
    scalc("60,20,/")

    the result will be 30

 

use string functions to parse the first number, the second number, and the operator from the    input string.

 

use the prior functions (add, subtract, divide and multiply) to do the calculations.

 

Do not use any UI functions in the library such as print(), input(), and format. A function should accept a parameter and return at least one value to the caller.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock

Steps involved in moving the functions incorporating ... View full answer

blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!