Mohammed Othman
Mohammed Othman

Reputation: 3

stuck with a simple python program "elif"

Hello I am having a trouble while doing my simple calculator code :D

def cal():

while True:

 print ("welcome to my calculator!")
 print("choose an operation")

 op = input(" +, - ,/ ,*")


if op == "+":

  num1 = float(input("enter your first number:"))
  num2 = float(input("enter your second number:"))

  print(str(num1 + num2)



elif op == "/":

  num1 = float(input("enter your first number:"))
  num2 = float(input("enter your second number:"))

  print(str(num1 / num2)


else:

break 



cal()

When ever I run the code it says invalid syntax at the elif

what is wrong here?

Upvotes: 0

Views: 248

Answers (2)

liam
liam

Reputation: 2014

You missed a bunch of brackets. If you want to take your program further use this as a model:

# 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")

# Take input from the user 
choice = input("Enter choice(1/2/3/4):")

num1 = int(input("Enter first number: "))
num2 = int(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))
else:
   print("Invalid input")

Upvotes: 3

Luke
Luke

Reputation: 774

You never closed the bracket on the print function. Same goes for the other if statement. You should use indentation of 4 spaces in the future, too.

if op == "+":
    num1 = float(input("enter your first number:"))
    num2 = float(input("enter your second number:"))
    print(str(num1 + num2))

Upvotes: 4

Related Questions