0

my output is the menu() function prints only all over again and again, don't matter what the input is it won't get to the "else if" statement #Python...........................................................................

def menu():
    #print what options you have
    print ("Welcome to calculator.py")
    print ("your options are:")
    print (" ")
    print ("1) Addition")
    print ("2) Subtraction")
    print ("3) Multiplication")
    print ("4) Division")
    print ("5) exposion")
    print ("6) Quit calculator.py")
    print (" ")
    return input ("Choose your option: ")
# this adds two numbers given
def add(a,b):
    print (a, "+", b, "=", a + b)
# this subtracts two numbers given
def sub(a,b):
    print (b, "-", a, "=", b - a)
# this multiplies two numbers given
def mul(a,b):
    print (a, "*", b, "=", a * b)
# this divides two numbers given
def div(a,b):
    print (a, "/", b, "=", a / b)
# HERE IS MY CODE
def dinami(base, exponent):
    if y == 1:
        print (base, "*" ,power,"(",base,",", exponent," - 1) = ",base)
    if y != 1:
        print (base, "*" ,power,"(",base,",", exponent," - 1) = ",base * power(base, exponent - 1))   
# NOW THE PROGRAM REALLY STARTS, AS CODE IS RUN
loop = 1
while loop == 1:
    choice = menu()
    if choice == 1:
        add(input("Add this: "),input("to this: "))
        print ("hi")
    elif choice == 2:
        sub(input("Subtract this: "),input("from this: "))
    elif choice == 3:
        mul(input("Multiply this: "),input("by this: "))
    elif choice == 4:
        div(input("Divide this: "),input("by this: "))
    elif choice == 5:
        dinami(input("expone this: "),input("to this: "))
    elif choice == 6:
        loop = 0
print ("Thankyou for using calculator.py!")
jpp
  • 159,742
  • 34
  • 281
  • 339

1 Answers1

2

input() returns a string, so if you're comparing int with string i.e '1' == 1, which always returns False

https://docs.python.org/3/library/functions.html#input

marcadian
  • 2,608
  • 13
  • 20