Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Mensaje iniciado por: FranAI en 12 Febrero 2020, 02:28 AM

Título: Python, error de sintaxis.
Publicado por: FranAI en 12 Febrero 2020, 02:28 AM
Estoy aprendiendo lo básico de python, puede que mi pregunta sea muy tonta pero no logro verlo :P . En el siguiente código me tira este error que no logro entender.

a = int(input("Ingrese un numero: "))
if a>=0 and a<=10:
    print("El numero está entre el 0 y el 10")
elif: #Sintaxis inválida
    if a>=11 and a<=20:
        print("EL numero esta entre el 11 y el 20")
else:
    if a>=21 and a<=30:
        print("El numero esta entre el 21 y el 30")


Al escribirlo de esta manera no lanza error:
a = int(input("Ingrese un numero: "))
if a>=0 and a<=10:
    print("El numero está entre el 0 y el 10")
elif a>=11 and a<=20:
        print("EL numero esta entre el 11 y el 20")
else:
    if a>=21 and a<=30:
        print("El numero esta entre el 21 y el 30")


No logro entender por qué al escribir ":" luego de elif lanza error, siendo que debajo de este, "else" si tiene los dos puntos y funciona.
Título: Re: Python, error de sintaxis.
Publicado por: engel lex en 12 Febrero 2020, 02:32 AM
elif es la union de los terminos else e if es decir, esta esperando la condicion ya que es un if es como que si hicieras

if:
  print("esto es un if")
else:
  print("esto es un else")


fallará porque no sabrá que condicion espera
Título: Re: Python, error de sintaxis.
Publicado por: FranAI en 12 Febrero 2020, 04:19 AM
Muchas gracias!