Esta estructura condicional es una forma más elegante de disponer estructuras condicionales anidadas.

Veamos como lo hacemos con estructuras condicionales anidadas y luego utilizando la sintaxis if/elif:
(problema: generar un número aleatorio entre 1 y 1000, luego imprimir la cantidad de dígitos del número generado)

import random

x=random.randint(1,1000)
print x
print '<br>'
if x<10:
    print 'Tiene 1 dígito'
else:
    if x<100:
        print 'Tiene 2 dígitos'
    else:
        if x<1000:
            print 'Tiene 3 dígitos'
        else:
            print 'Tiene 4 dígitos'

Luego con la estructura condicional if/elif:

import random

x=random.randint(1,1000)
print x
print '<br>'
if x<10:
    print 'Tiene 1 dígito'
elif x<100:
    print 'Tiene 2 dígitos'
elif x<1000:
    print 'Tiene 3 dígitos'
else:
    print 'Tiene 4 dígitos'

Problema resuelto

Almacenar en una variable entera la nota de un alumno, luego mostrar un mensaje si está promocionado (nota>=9), regular (nota>=4) o reprobado (nota<4)



Problema Propuesto

Generar un valor aleatorio comprendido entre 1 y 5. Luego mostrar en castellano el valor generado.



import random

x=random.randint(1,5)
if x==1:
    print 'uno'
elif x==2:
    print 'dos'
elif x==3:
    print 'tres'
elif x==4:
    print 'cuatro'
elif x==5:
    print 'cinco'

    
Ver solución