Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

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 ;)

2 respostas
solução!

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

Sim, ajudou bastanteeee, Mike. Super valeu,
Já vou colocar no meu exercício do acesso ao código, vários prints do tipo(Um, tá friooo) (Xiii, agora foi de vez,pro Alasca),(Acesso negado,isso lá é senha que se preze 1234?Acha que seria tão fácil?) algo do tipo. Vai ficar top, gratidão.