Las condiciones anidadas pueden volverse muy profundas muy rápidamente. Esto hace que la lectura del código sea difícil y los programadores tienden a evitar tener muchas condiciones anidadas (y en general, tener demasiado código anidado). Python proporciona elif, que ayuda a evitar usar else y luego if:
if name == 'Alice':
print('Hey there!')
else:
if name == 'Bob':
print('How are you doing?')
else:
if name == 'Anna':
print('Hello, Anna')
else:
print('Hi!')
if name == 'Alice':
print('Hey there!')
elif name == 'Bob':
print('How are you doing?')
elif name == 'Anna':
print('Hello, Anna')
else:
print('Hi!')
Estos dos programas hacen exactamente lo mismo. Imprimen mensajes de saludo personalizados y contienen muchas sentencias if/else. Sin embargo, el primero tiene muchas capas de bloques if/else anidados, mientras que el segundo usa sentencias elif, que significa else if.
Desafío
Teniendo una nota que es un número del 0 al 100, nos gustaría saber a qué calificación del sistema de notas por letras de EE. UU. correspondería esa nota (A, B, C, D y F).
Nota: No uses solo sentencias if con comprobaciones de rangos. Usa elif cuando verifiques otra condición.