Python eleva SyntaxError en “=” en la statement if

Estoy escribiendo un progtwig que toma la entrada del usuario y lo compara con diferentes cadenas de comandos. Cuando bash ejecutar el progtwig, obtengo un SyntaxError sobre la línea if method = 'addition': e IDLE resalta el = en rojo.

 num1 = input('Enter your first value: ') num2 = input('Enter your second value: ') method = input('Which method will you be using? ') if method = 'addition': solveFor = num1 + num2 elif method = 'subtraction': solveFor = num1 - num2 else: print("Please enter 'addition' or 'subtraction'") 

El operador de comparación de igualdad en Python es == . = es una statement para asignar un valor a una variable.

Su código tiene una serie de otros errores (que comienzan con los nombres indefinidos num1 , num2 , que no hacen nada al principio). Debería leer el tutorial de Python para repasar los conceptos básicos de la syntax de Python.

Aquí hay algunos consejos:

  • Python no requiere que usted declare variables como lo hacen otros lenguajes, ya que se escribe dinámicamente, por lo que no es necesario escribir num1 al comienzo de su script.
  • El único signo igual se usa para establecer un valor ( a = 2 ), mientras que el doble signo igual se usa para comparar valores ( if a == 2: .
  • Necesitas colocar dos puntos después de todo if , else y elif sentencias.
  • La sangría es importante en Python.

Parece que te falta el conocimiento básico de Python y realmente deberías leer un tutorial decente sobre Python. Me han dicho que este libro en línea es bueno: http://learnpythonthehardway.org/book/

Para referencia, aquí hay una versión fija de su código:

 print "Welcome to PyCalcBasic" num1 = input("Enter your first value") num2 = input("Enter you second value") method = raw_input("Which mathematical operator will you be using?") if method == "addition": solveFor = num1 + num2 elif method == "subtraction": solveFor = num1 - num2 else: print ("Please enter 'addition' or 'subtraction'") 
  1. Single es igual a = asignación, doble es igual a == es prueba de igualdad
  2. Necesita dos puntos después de la condición de una sentencia if o elif , o después de la else