Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

[Projeto] Desafio: hora da prática | Momento dos projetos 1

Momento dos projetos

10) Um programa deve ser escrito para ler dois números e, em seguida, perguntar à pessoa usuária qual operação ele deseja realizar. O resultado da operação deve incluir informações sobre o número - se é par ou ímpar, positivo ou negativo e inteiro ou decimal.

# Solicita os números
num1 = float(input("Digite o primeiro número: "))
num2 = float(input("Digite o segundo número: "))

# Solicita a operação
operacao = input("Escolha a operação (+, -, *, /): ")

# Realiza a operação
if operacao == "+":
    resultado = num1 + num2
elif operacao == "-":
    resultado = num1 - num2
elif operacao == "*":
    resultado = num1 * num2
elif operacao == "/":
    if num2 != 0:
        resultado = num1 / num2
    else:
        print("Erro: divisão por zero.")
        resultado = None
else:
    print("Operação inválida.")
    resultado = None

# Analisa o resultado
if resultado is not None:
    print(f"\nResultado: {resultado}")

    # Par ou ímpar
    if resultado % 2 == 0:
        print("O número é par.")
    else:
        print("O número é ímpar.")

    # Positivo ou negativo
    if resultado > 0:
        print("O número é positivo.")
    elif resultado < 0:
        print("O número é negativo.")
    else:
        print("O número é zero.")

    # Inteiro ou decimal
    if resultado == int(resultado):
        print("O número é inteiro.")
    else:
        print("O número é decimal.")

**11) Escreva um programa que peça à pessoa usuária três números que representam os lados de um triângulo. O programa deve informar se os valores podem ser utilizados para formar um triângulo e, caso afirmativo, se ele é equilátero, isósceles ou escaleno. Tenha em mente algumas dicas:

  • Três lados formam um triângulo quando a soma de quaisquer dois lados for maior que o terceiro;
  • Triângulo Equilátero: três lados iguais;
  • Triângulo Isósceles: quaisquer dois lados iguais;
  • Triângulo Escaleno: três lados diferentes.**
# Entrada dos lados
lado1 = float(input("Digite o primeiro lado: "))
lado2 = float(input("Digite o segundo lado: "))
lado3 = float(input("Digite o terceiro lado: "))

# Verifica se forma um triângulo
if (lado1 + lado2 > lado3 and
    lado1 + lado3 > lado2 and
    lado2 + lado3 > lado1):

    print("Os valores podem formar um triângulo.")

    # Classificação
    if lado1 == lado2 == lado3:
        print("Triângulo Equilátero.")
    elif lado1 == lado2 or lado1 == lado3 or lado2 == lado3:
        print("Triângulo Isósceles.")
    else:
        print("Triângulo Escaleno.")

else:
    print("Os valores NÃO podem formar um triângulo.")
1 resposta
solução!

Olá, Estudante. Como vai?

Parabéns pela resolução dos desafios! Você demonstrou uma excelente capacidade de traduzir regras de negócio complexas (como as leis de formação de um triângulo) em lógica de programação. O uso de condicionais aninhadas e a organização do código mostram que você está progredindo muito bem na trilha de Python.

Gostaria de destacar alguns pontos técnicos de destaque no seu trabalho e oferecer sugestões para deixar seu código ainda mais "limpo" e profissional:

  • Validação de Divisão por Zero: No exercício 10, você incluiu a verificação if num2 != 0. Isso é uma boa prática essencial em Data Science, pois evita que o programa sofra um erro fatal (runtime error) ao processar dados.
  • Lógica Booleana: No exercício 11, você utilizou corretamente os operadores lógicos and para validar a condição de existência do triângulo. Essa estrutura garante que todas as premissas matemáticas sejam atendidas antes de prosseguir para a classificação.
  • Uso do is Not None: No Python, comparar o resultado com None usando o operador is é a forma recomendada (PEP 8) para verificar a identidade de objetos, em vez de usar ==. Parabéns por esse detalhe!

Dicas para os próximos projetos:

  1. Refinando a Paridade: No exercício 10, a verificação de par ou ímpar (resultado % 2 == 0) funciona perfeitamente para números inteiros. No entanto, se o resultado for um decimal (ex: 3.5), o Python ainda tentará fazer o cálculo. Uma dica de ouro seria primeiro verificar se o número é inteiro para só então exibir se ele é par ou ímpar, evitando confusões conceituais em resultados decimais.
  2. Operador de Igualdade Tripla: No exercício 11, você usou lado1 == lado2 == lado3. O Python suporta essa comparação encadeada, o que deixa o código muito elegante e legível, lembrando bastante a notação matemática.

Continue com esse foco! Resolver exercícios que misturam conceitos matemáticos com programação é a melhor forma de preparar o terreno para trabalhar com bibliotecas de análise de dados no futuro.

Espero que possa ter lhe ajudado!