问题
I keep getting an invalid sytnax error in the elif statement of my code. What am I doing wrong?
# define the functions for each math operation
#
def add (a, b) :
return a + b
def subtract (a, b) :
return a - b
def multiply (a, b) :
return a * b
def divide (a, b) :
return a / b
def remainder (a, b) :
return a % b
def welcome_message ( first_name ) :
print ("Hi ", first_name, " " ". Welcome to Project 3!")
welcome_message("Prof. Shah")
loop = 1
while loop ==1:
print ("Select operation.")
print ("1. Add")
print ("2. Subtract")
print ("3. Multiply")
print ("4. Divide")
print ("5. Remainder")
choice = input("Enter choice :")
num1 = int(input |"Please enter your first number: ")
num2 = int(input |"Please enter your 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, "=", remainder (num1,num2)
回答1:
if choice == '1' :
print(num1, "+", num2, "=", add(num1,num2))
elif choice == '2' :
print(num1, "-", num2, "=", subtract(num1,num2))
...
your indentation seems to be off, and you were missing a closing brace at the end of every print statement.
回答2:
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, "=", remainder (num1,num2)
Problem is in here. if "if" block is going to process, then you have to start with if after then elif. like:
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, "=", remainder (num1,num2)
来源:https://stackoverflow.com/questions/27347442/invalid-elif-syntax-error-in-python-3-program