1
resposta

Como coloco + de 3 linhas de raciocínio?

Olá pessoal
aprendi sobre if,elif,else
mas gostaria de inserir uma história que houvesse 6 circunstâncias distintas. Como faço isso? Coloco 2 blocos de 3(if,elif,else)? é assim ou existe um comando para trabalhar com condições acima de 3 itens?
grata desde já pela ajudinha ;)

1 resposta

Olá, Ionara, como vai?

Boa pergunta. A estrutura if, elif e else não tem limite de três condições, o elif pode ser repetido quantas vezes forem necessárias. Então, para cobrir 6 circunstâncias distintas, basta encadear quatro elif e encerrar com um else, assim:

situacao = "C"

if situacao == "A":
    print("Você escolheu a circunstância A")
elif situacao == "B":
    print("Você escolheu a circunstância B")
elif situacao == "C":
    print("Você escolheu a circunstância C")
elif situacao == "D":
    print("Você escolheu a circunstância D")
elif situacao == "E":
    print("Você escolheu a circunstância E")
else:
    print("Você escolheu a circunstância F")

O Python vai percorrer cada condição de cima para baixo e executar apenas o bloco da primeira que for verdadeira. O else funciona como um "caso nenhuma das anteriores se aplique".

Dois blocos separados de if/elif/else também funcionariam em alguns contextos, mas trariam um comportamento diferente: o Python avaliaria os dois blocos independentemente, o que pode gerar execuções indesejadas caso mais de uma condição seja verdadeira. Para circunstâncias mutuamente exclusivas, como parece ser o seu caso, o encadeamento com elif é a abordagem correta.

O Python também oferece uma estrutura chamada match/case. Ela é bastante útil exatamente em situações como a sua, onde há várias circunstâncias distintas para avaliar.

A sintaxe funciona assim:

situacao = "C"

match situacao:
    case "A":
        print("Você escolheu a circunstância A")
    case "B":
        print("Você escolheu a circunstância B")
    case "C":
        print("Você escolheu a circunstância C")
    case "D":
        print("Você escolheu a circunstância D")
    case "E":
        print("Você escolheu a circunstância E")
    case _:
        print("Você escolheu a circunstância F")

O case _ funciona como o else, ou seja, é o caso padrão executado quando nenhuma das opções anteriores corresponde ao valor avaliado.

Uma vantagem do match/case em relação ao encadeamento de elif é a legibilidade, conforme o número de condições cresce, o código fica mais limpo e fácil de entender. Em termos de comportamento, para situações mutuamente exclusivas como a sua história com 6 circunstâncias, as duas abordagens produzem o mesmo resultado.

Espero ter ajudado.

Siga firme nos seus estudos e conte com o fórum sempre que precisar.

Abraços :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado