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?
2 Answers 2
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))
answered Aug 4, 2017 at 19:18
Luke
7722 gold badges7 silver badges24 bronze badges
Sign up to request clarification or add additional context in comments.
4 Comments
Stack
you can use 4 spaces, but i just find using tab more convinient.
Stack
It doesnt matter, tab gives the same number of spaces. It is just easy to press tab once than pressing space 4 times. Anyways follow what you want : )
Luke
@Stack Sublime allows me to indent using spaces, hitting
tab puts 4 spaces in the code. But you're right, this is really a matter of preference. :)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")
answered Aug 4, 2017 at 19:18
liam
2,0223 gold badges25 silver badges28 bronze badges
Comments
lang-py
print(str(num1 + num2)has two left parentheses and one left parenthesis. This is a problem. There are other lines like this as well. Make sure your parentheses match.