while una tiene sentencias recomendación otra numeros más grande expresión else ejemplos dentro cuál cuando condicional comparar python python-3.x

una - sentencias en python



¿Cuál es la sintaxis correcta para ''else if''? (6)

¿Te refieres a elif ?

Soy un nuevo programador de Python que está dando el salto de 2.6.4 a 3.1.1. Todo ha ido bien hasta que intenté usar la declaración ''else if''. El intérprete me da un error de sintaxis después de "if" in "else if" por una razón que parece que no puedo entender.

def function(a): if a == ''1'': print (''1a'') else if a == ''2'' print (''2a'') else print (''3a'') function(input(''input:''))

Probablemente me esté perdiendo algo muy simple; Sin embargo, no he podido encontrar la respuesta por mi cuenta.


Aquí hay una pequeña refactorización de su función (no usa "else" o "elif"):

def function(a): if a not in (1, 2): a = 3 print(str(a) + "a")

@ ghostdog74: Python 3 requiere paréntesis para "imprimir".


En python "else if" se deletrea "elif".
Además, necesitas dos puntos después del elif y el else .

Respuesta simple a una pregunta simple. Tuve el mismo problema, cuando empecé (en el último par de semanas).

Por lo que su código debe leer:

def function(a): if a == ''1'': print(''1a'') elif a == ''2'': print(''2a'') else: print(''3a'') function(input(''input:''))


desde tiempos pasados, la sintaxis correcta para if/else if en Python es elif . Por cierto, puedes usar el diccionario si tienes un montón de if/else .eg

d={"1":"1a","2":"2a"} if not a in d: print("3a") else: print (d[a])

Para msw, ejemplo de ejecución de funciones mediante diccionario.

def print_one(arg=None): print "one" def print_two(num): print "two %s" % num execfunctions = { 1 : (print_one, [''**arg''] ) , 2 : (print_two , [''**arg''] )} try: execfunctions[1][0]() except KeyError,e: print "Invalid option: ",e try: execfunctions[2][0]("test") except KeyError,e: print "Invalid option: ",e else: sys.exit()


def function(a): if a == ''1'': print (''1a'') elif a == ''2'': print (''2a'') else: print (''3a'')


def function(a): if a == ''1'': print (''1a'') elif a == ''2'': print (''2a'') else: print (''3a'')

Debe corregirse a:

def function(a): if a == ''1'': print(''1a'') elif a == ''2'': print(''2a'') else: print(''3a'')

Como puede ver, else si se debe cambiar a elif, debe haber dos puntos después de ''2'' y, si no, debe haber una nueva línea después de la instrucción else y cerrar el espacio entre la impresión y los paréntesis.