Las sentencias condicionales pueden contener un bloque de código que es arbitrario. Puede incluir sentencias print, asignaciones de variables e incluso contener otros bloques if/else.
if name == 'Anna':
print('Hello, Anna')
salary = 1000
if not 18 <= age <= 30:
print('You are not Anna, stop lying')
salary = -1
else:
if name == 'Bob':
print('How are you doing, Bob?')
salary = 900
else:
print('I probably do not know you...')
Este es un ejemplo de cómo se puede escribir el anidamiento de sentencias condicionales. Puede ser aún más profundo:
if a:
...
else:
if b:
...
else:
if c:
if d:
...
else:
...
Así, los bloques de código se indentan con 4 espacios, y el cuerpo de una sentencia if aparece "dentro" de la sentencia. El cuerpo de una sentencia if/else puede ser arbitrario y puede contener otras sentencias if/else.
Desafío
Escribe un programa que pida un nombre y, si el nombre es Alice, la salude con Hey there!; de lo contrario, debe imprimir I don't know you. El programa también debe leer el salario que Alice desea y debe imprimir Sounds good si el salario es menor a 10000, de lo contrario, debe imprimir Let's discuss this a little.