Comandos condicionais podem conter um bloco de código que é arbitrário. Pode conter comandos print, pode conter atribuições de variáveis e pode até mesmo conter outros blocos 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 é um exemplo de como o aninhamento de instruções condicionais pode ser escrito. Pode ir ainda mais fundo:
if a:
...
else:
if b:
...
else:
if c:
if d:
...
else:
...
Assim, blocos de código são indentados com 4 espaços, e o corpo de uma instrução if aparece "dentro" da instrução. O corpo de uma instrução if/else pode ser arbitrário e pode conter outras instruções if/else.
Desafio
Escreva um programa que receba um nome e, se o nome for Alice, cumprimente Alice com Hey there! e, caso contrário, imprima I don't know you. O programa também deve ler o salário que Alice deseja e deve imprimir Sounds good se o salário for abaixo de 10000; caso contrário, deve imprimir Let's discuss this a little.