O que são declarações «outros» e «elif»?

Concluído

E se você também quiser que seu programa execute um pedaço de código quando sua expressão de teste for False? E se você quiser incluir outra expressão de teste? Python tem outras palavras-chave que você pode usar para fazer instruções mais complexas if , else e elif. Quando você usa if, elsee elif em combinação, você pode escrever programas complexos com várias expressões de teste e instruções para executar.

Trabalhar com else

Você sabe que quando você usa uma if instrução, o corpo do programa será executado somente se a expressão de teste for True. Para adicionar mais código que será executado quando sua expressão de teste for False, você precisa adicionar uma else instrução.

Vamos adaptar um exemplo da seção anterior:

a = 27
b = 93
if a >= b:
    print(a)

Neste exemplo, se a não for maior ou igual a b, nada acontece. Digamos que você queira imprimir b se a expressão de teste for False:

a = 27
b = 93
if a >= b:
    print(a)
else:
    print(b)

Saída: 93

Se a expressão de teste for False, o código no corpo da instrução será ignorado if e o programa continuará em execução a partir da else instrução. A sintaxe de uma if/else instrução é sempre:

if test_expression:
    # statement(s) to be run
else:
    # statement(s) to be run

Trabalhar com elif

Em Python, a palavra-chave elif é curta para else if. O uso de elif instruções permite que você adicione várias expressões de teste ao seu programa. Essas instruções são executadas na ordem em que são escritas, portanto, seu programa inserirá uma elif instrução somente se a primeira if instrução for False. Por exemplo:

a = 27
b = 93
if a <= b:
    print("a is less than or equal to b")
elif a == b:
    print("a is equal to b")

Saída: a is less than or equal to b

Nessa variação, a elif instrução no bloco de código não será executada, porque a if instrução é True.

A sintaxe de uma if/elif instrução é:

if test_expression:
    # statement(s) to be run
elif test_expression:
    # statement(s) to be run

Combinar if, elife else instruções

Você pode combinar if, elife else instruções para criar programas com lógica condicional complexa. Lembre-se de que uma elif instrução é executada somente quando a if condição é false. Observe também que um if bloco pode ter apenas um else bloco, mas pode ter vários elif blocos.

Vejamos um exemplo com um if, um elif e uma else declaração:

a = 27
b = 93
if a < b:
    print("a is less than b")
elif a > b:
    print("a is greater than b")
else: 
    print ("a is equal to b")    

Um bloco de código que usa todos os três tipos de instruções tem a seguinte sintaxe:

if test_expression:
    # statement(s) to be run
elif test_expression:
    # statement(s) to be run
elif test_expression:
    # statement(s) to be run
else:
    # statement(s) to be run

Trabalhar com lógica condicional aninhada

Python também suporta lógica condicional aninhada, o que significa que você pode aninhar if, elife else instruções para criar programas ainda mais complexos. Para aninhar condições, recue as condições internas e tudo no mesmo nível de recuo será executado no mesmo bloco de código:

a = 16
b = 25
c = 27
if a > b:
    if b > c:
        print ("a is greater than b and b is greater than c")
    else: 
        print ("a is greater than b and less than c")
elif a == b:
    print ("a is equal to b")
else:
    print ("a is less than b")

Este pedaço de código produz a saída a is less than b.

A lógica condicional aninhada segue as mesmas regras que a lógica condicional regular dentro de cada bloco de código. Aqui está um exemplo da sintaxe:

if test_expression:
    # statement(s) to be run
    if test_expression:
        # statement(s) to be run
    else: 
        # statement(s) to be run
elif test_expression:
    # statement(s) to be run
    if test_expression:
        # statement(s) to be run
    else: 
        # statement(s) to be run
else:
    # statement(s) to be run