Condicionais com if, else e elif#

Neste capítulo, vamos entender como usar a estrutura condicional if e fornecer alguns exemplos de como ela pode ser útil em nosso aprendizado.

A condicional if e a Identação#

A estrutura condicional if (“se”, em português) serve para permitir que o programa tome decisões baseadas em condições. Isso significa que o programa irá verificar se a condição especificada é verdadeira ou falsa e, de acordo com o resultado, executará o código correspondente.

x = 5
if x > 0:
    print("x é maior que 0")

A estrutura é muito simples, vamos análisar linha a linha:

  1. Na primeira linha, x = 5, nós atribuimos o valor 5 à variável x

  2. Na segunda linha, if x > 0:, nós fazemos a nossa condição: “se x for maior que 0:”

  3. Na terceira linha     print("x é maior que 0"), temos mais uma novidade. Perceba que ela começa com 4 espaços em branco. Nós chamamos isso de identação. Ela acontece sempre após os : da linha anterior, e a razão disso existir é dizer que todo código identado pertence ao bloco declarado acima. (Neste caso, a condição de x ser maior que 0) Isso significa que se x fosse menor que 0, a terceira linha seria pulada.

Resumindo: se você rodar o programa acima, verá a mensagem “x é maior que 0” impresso na tela. Isso acontece pois a condição especificada (x > 0) é verdadeira. Se a condição fosse falsa, a mensagem não seria impressa.

É importante notar que a indentação do código dentro do if é importante. Todo código que deve ser executado caso a condição seja verdadeira, deve ser indentado.

x = 5
if x > 0:
    print("x é maior que 0")
    print("Isso é um exemplo de código indentado")

Neste exemplo, ambas as mensagens serão impressas pois ambas estão indentadas e portanto estão dentro do if.

Condições compostas#

É possível utilizar operadores lógicos como and, or e not para criar condições compostas. Isso permite que você verifique múltiplas condições ao mesmo tempo.

idade = 18
if idade > 17 and idade < 21:
    print("Você tem entre 18 e 20 anos.")

Neste exemplo, a mensagem será impressa somente se a idade for maior do que 17 e menor do que 21.

Alguns outros exemplos de condições compostas:

visitante = False
if not visitante:
	print("Você precisa de um crachá de visitante para entrar neste local")

O not é muito utilizado junto de variáveis do tipo bool. Isso acontece pois a leitura fica idêntica ao que seria falado em inglês.

O caso acima pode parecer confuso, mas fica simples se imaginarmos que o not vai sempre inverter o valor booleano na frente dele. No caso, o inverso de False é True. Por isso a condição é verdadeira.

Ou ficaria mais simples ainda se ler no português: “se não for um visitante:”, já que eu sei que visitante = False, eu sei que não é um visitante.

Vejamos um exemplo com mais de uma condição. Neste caso, o or:

condicao = "idoso"
if condicao == "gestante" or condicao == "idoso" or condicao == "deficiencia":
	print("você pode utilizar a fila preferencial")

Para o or, não importa que a condição seja falsa para uma das comparações. O que importa é que pelo menos uma seja verdadeira.

else e elif#

A palavra else significa “senão”. Enquanto o elif é uma abreviação de else if, ou seja, “se não, se”.

É possível utilizar else e elif para especificar o código a ser executado caso a condição especificada no if seja falsa.

x = 5
if x > 0:
    print("x é maior que 0")
else:
    print("x não é maior que 0")

Neste exemplo, a primeira mensagem será impressa pois x é maior do que 0. Se x fosse menor ou igual a 0, a segunda mensagem seria impressa.

x = 5
if x > 0:
    print("x é maior que 0")
elif x == 0:
    print("x é igual a 0")
else:
	print("x é menor que 0")

Neste exemplo, é usado o elif (else if, “se não, se”) para verificar se x é igual a 0. Se x for maior que 0, a primeira mensagem será impressa, se x for igual a 0, a segunda mensagem será impressa, caso contrário, a terceira mensagem será impressa.

É importante lembrar que o else e o elif são opcionais e não precisam ser usados em todas as estruturas condicionais. Além disso, é possível usar vários elifs para verificar várias condições.

Exemplos práticos#

Agora vamos ver alguns exemplos de como isso tudo pode ser útil na programação. Lembra do input()? vamos usar ele, juntamente com as conversões numéricas!

idade = int(input("Qual é a sua idade? "))
if idade >= 18:
    print("Você é maior de idade.")
else:
    print("Você é menor de idade.")

Este exemplo pede para o usuário informar a idade e verifica se a idade é maior ou igual a 18. Se for, a mensagem “Você é maior de idade” é impressa, caso contrário, a mensagem “Você é menor de idade” é impressa.

nota = float(input("Qual é a sua nota? "))
if nota >= 7:
    print("Você foi aprovado!")
else:
    print("Você foi reprovado.")

Este exemplo pede para o usuário informar a nota e verifica se a nota é maior ou igual a 7. Se for, a mensagem “Você foi aprovado!” é impressa, caso contrário, a mensagem “Você foi reprovado.” é impressa.

Como você pode ver, a estrutura condicional if é muito útil para tomar decisões no seu código e fornecer diferentes resultados dependendo das condições especificadas.