2
respostas

Desafio: hora da prática

1. 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.

num1 = float(input("Digite o primeiro número: "))
num2 = float(input("Digite o segundo número: "))
operacao = input("Digite a operação desejada (+, -, *, /): ")


if operacao == '+':
    resultado = num1 + num2

elif operacao == '-':
    resultado = num1 - num2

elif operacao == '*':
    resultado = num1 * num2

elif operacao == '/':
    if num2 == 0:
        print("Não é possível dividir por zero.")
        exit()
    
    resultado = num1 / num2

else:
    print("Operação inválida.")
    exit()

print(f'\nResultado: {resultado}')

if resultado % 2 == 0:
    print("O resultado é um número par")
else:
    print("O resultado é um número impar")

if resultado > 0:
    print("O resultado é um número positivo")

elif resultado < 0:
    print("O resultado é um número negativo")

else:
    print("O resultado é zero")

if resultado == int(resultado):
    print("O resultado é um número inteiro")
else:
    print("O resultado é um  número float")
2. 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.

num1 = int(input("Digite o primeiro número: "))
num2 = int(input("Digite o segundo número: "))
num3 = int(input("Digite o terceiro número: "))

if num1 + num2 > num3 and num1 + num3 > num2 and num2 + num3 > num1:
  print('Os valores podem formar um triângulo')

  if num1 == num2 == num3:
    print('O triângulo é um triângulo equilátero')

  elif num1 == num2 or num1 == num3 or num2 == num3:
    print('O triângulo é um triângulo isósceles')
  else:
    print('O triângulo é um triângulo escaleno')
else:
  print('Os valores não podem formar um triângulo')
  
3. Um estabelecimento está vendendo combustíveis com descontos variados. Para o etanol, se a quantidade comprada for até 15 litros, o desconto será de 2% por litro. Caso contrário, será de 4% por litro. Para o diesel, se a quantidade comprada for até 15 litros, o desconto será de 3% por litro. Caso contrário, será de 5% por litro. O preço do litro de diesel é R$ 2,00 e o preço do litro de etanol é R$ 1,70. Escreva um programa que leia a quantidade de litros vendidos e o tipo de combustível (E para etanol e D para diesel) e calcule o valor a ser pago pelo cliente. Tenha em mente algumas dicas:

O do valor do desconto será a multiplicação entre preço do litro, quantidade de litros e o valor do desconto.
O valor a ser pago por um cliente será o resultado da multiplicação do preço do litro pela quantidade de litros menos o valor de desconto resultante do cálculo.

etanol = 1.70
diesel = 2.00

tipo = input("Digite o tipo de combustível (E para etanol e D para diesel): ").upper()
litros = float(input("Digite a quantidade de litros vendidos: "))

if tipo == 'E':
    preco_litro = etanol

    if litros <= 15:
        desconto_percentual = 0.02
    else:
        desconto_percentual = 0.04

elif tipo == 'D':
    preco_litro = diesel

    if litros <= 15:
        desconto_percentual = 0.03
    else:
        desconto_percentual = 0.05

else:
    print("Tipo de combustível inválido.")
    exit()

valor_total = preco_litro * litros
valor_desconto = valor_total * desconto_percentual
valor_final = valor_total - valor_desconto

print(f'\nValor sem desconto: R$ {valor_total:.2f}')
print(f'Desconto aplicado: R$ {valor_desconto:.2f}')
print(f'Valor final a pagar: R$ {valor_final:.2f}')
2 respostas

Olá, Weydison! Tudo bem?

Parabéns pela resolução dos desafios! Você demonstrou uma excelente compreensão das Estruturas Condicionais em Python, que são a base para qualquer tomada de decisão automatizada em sistemas de dados.

Sua lógica está muito bem estruturada.

Oii, Weydison. Tudo bem?

Dei uma olhada nos seus exercícios e o resultado está ótimo. Você conseguiu aplicar bem as estruturas condicionais e resolveu os desafios de forma bem direta.

Alguns pontos que valem o destaque:

  • Prevenção de erros: No código da calculadora, foi excelente você ter previsto a divisão por zero. É o tipo de detalhe que evita que o programa pare de funcionar no meio do uso.
  • Tratamento de texto: No desafio dos combustíveis, o uso do .upper() mostra que você pensou na facilidade para quem vai digitar, aceitando tanto letras maiúsculas quanto minúsculas.
  • Lógica de triângulos: A validação se os lados formam um triângulo antes de classificar o tipo (equilátero, isósceles ou escaleno) é a melhor forma de estruturar esse pensamento.

Uma sugestão para os próximos:

No primeiro exercício, você usou o exit(). No dia a dia, ele pode ser um pouco "drástico" porque encerra o programa de uma vez. Conforme você avançar para o uso de funções, vai ver que existem formas mais suaves de controlar o fluxo, mas para o objetivo dessa aula, sua lógica de interromper uma operação inválida funcionou perfeitamente.

Parabéns pelo progresso!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!