Escrever instruções 'if'

Concluído

Para expressar a lógica condicional no Python, você usa instruções if. Ao escrever uma instrução if, você está contando com outro conceito que abordamos neste módulo, operadores matemáticos. O Python dá suporte aos operadores lógicos comuns da matemática: igual, diferente, menor que, menor ou igual a, maior que e maior ou igual a. Você provavelmente está acostumado a ver esses operadores exibidos usando símbolos, que é como eles são representados em Python também.

  • Igual a: a == b
  • Diferente de: a != b
  • Menor que: a < b
  • Menor ou igual a: a <= b
  • Maior que: a > b
  • Maior ou igual a: a >= b

Expressões de teste

Você precisará usar uma instrução if para executar o código somente se uma determinada condição for satisfeita. A primeira coisa que você faz ao escrever uma instrução if é verificar a condição usando uma expressão de teste. Em seguida, você determina se a instrução é avaliada como True ou False. Se for True, o próximo bloco de código recuado será executado:

a = 97
b = 55
# test expression
if a < b:
    # statement to be run
    print(b)

Neste exemplo, a < b é a expressão de teste. O programa avalia a expressão de teste e, em seguida, executa o código dentro da instrução if somente se a expressão de teste for True. Se você avaliar a expressão, sabe que ela é False, portanto, qualquer código que escrever na instrução if não será executado.

Observação

No Python, None e 0 também são interpretados como False.

Escrever instruções if

Você usa uma instrução if se quiser executar o código somente se uma determinada condição for satisfeita. A sintaxe de uma instrução if é sempre:

if test_expression:
    # statement(s) to be run

Por exemplo:

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

Saída: 93

No Python, o corpo de uma instrução if deve ser recuado. Qualquer código após uma expressão de teste que não esteja recuada sempre será executado:

a = 24
b = 44
if a <= 0:
    print(a)
print(b)

Saída: 44

Neste exemplo, a saída é 44 porque a expressão de teste é False e a instrução print(b) não é recuada no mesmo nível que a instrução if.