[python] Need help [BUGS]

user control option setup

def add(x, y):
return x + y

def subtract(x, y):
return x - y

def multiply(x, y):
return x * y

def divide(x, y):
return x / y

def Exponent (x, y):
return x**y

def modulo(x, y):
return x % y

What the users will see

print(“What operation would you like to use?”)
print(“1) Add”)
print(“2) Subtract”)
print(“3) Multiply”)
print(“4) Divide”)
print(“5) Exponent”)
print(“6) Find the remainder”)
#The REAL code

while True:

choice = input("Enter choice(1/2/3/4/5/6): ")


if choice in ('1', '2', '3', '4', '5', '6'):
    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))
    
    elif choice == '5':
        print(num1, "**", num2, "=", Exponent(num1,num2))

    elif choice == '6':
        print(num1, "%", num2, "=", modulo(num1,num2))
    
    next_calculation = input("Do you want to do another calculation? (yes/no): ")
    if next_calculation == "no":
      break

else:
    print("Invalid Input")

It has bugs on the exponential part i need help

Two suggestions:

  1. Use lowercase. Caps are reserved for class names.
  2. Implement the built in pow() function.
def exponent (x, y):
    return pow(x, y)
print (exponent(2, 3))      #  8

print (exponent(8, 1/3))    #  2.0

print (exponent(4, 3/2))    #  8.0
1 Like