1
resposta

Exercícios: estruturas condicionais

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Ivaney. Como vai?

Parabéns pelo excelente desempenho na resolução dos exercícios! Desenvolver essa série de desafios utilizando estruturas condicionais (if, elif, else) e operadores lógicos é o caminho perfeito para consolidar a base da lógica de programação em Python.

A análise das suas soluções mostra que você compreendeu muito bem os conceitos do módulo. Gostaria de destacar alguns pontos excelentes do seu código:

  • Uso correto do operador de resto (%): Na validação de números pares/ímpares (num % 2 == 0) e inteiros/decimais (num % 1 == 0), você aplicou uma lógica matemática impecável e muito eficiente no Python.
  • **Manipulação de strings com .lower()**: No exercício de validar se a letra é uma vogal ou consoante, o uso do método .lower() foi uma ótima decisão de design de código, pois evita que o programa falhe caso o usuário digite uma letra maiúscula.
  • Lógica de classificação: O algoritmo para verificar a existência e o tipo de triângulo ficou muito completo, validando primeiro a condição de existência antes de entrar nas classificações de equilátero, escaleno ou isósceles.

Para agregar ainda mais valor ao seu aprendizado e trazer algumas boas práticas de mercado, gostaria de sugerir duas pequenas otimizações técnicas para os seus próximos códigos:

  • Evite o aninhamento excessivo quando possível: No exercício de ordenação dos três números (onde o resultado deu 8, 6, 5), o código funciona muito bem, mas possui muitos if e else internos empilhados. Para simplificar a leitura de listas de elementos, o Python possui funções nativas muito poderosas como a sorted().
  • Cuidado com variáveis não inicializadas: No exercício da calculadora, caso o usuário digite uma operação inválida, você imprime a mensagem e define resultado = 0. Isso é uma ótima prática de prevenção de erros! Porém, nas verificações seguintes (if resultado % 1 == 0:), o programa continuará testando o número 0. Uma alternativa legal seria usar a estrutura sys.exit() ou colocar os testes adicionais dentro do bloco onde a operação é válida.

Veja como o desafio de ordenar três números de forma decrescente poderia ser resolvido em apenas duas linhas utilizando estruturas de dados (listas) e funções nativas do Python:

# Exemplo de otimização para ordenação de valores
numeros = [int(input('N1: ')), int(input('N2: ')), int(input('N3: '))]
numeros.sort(reverse=True)

for num in numeros:
    print(num)

Essa abordagem com listas deixa o código mais limpo, fácil de manter e preparado para caso você precise ordenar 5, 10 ou 100 números no futuro sem precisar criar dezenas de estruturas condicionais manuais.

Continue com essa excelente dedicação e foco nos exercícios práticos!

Espero que possa ter lhe ajudado!