3
respostas

[Projeto] Dsafio: Hora da Pratica Condicionais parte 2

Parte 2

#Q10

def eh_inteiro(numero):
if resultado % 1 == 0:
print(f'O número {resultado} é inteiro')
else:
print(f'O número {resultado} é decimal')

def eh_par(numero):
if resultado % 2 == 0:
print(f'O número {resultado} é par')
else:
print(f'O número {resultado} é ímpar')

def eh_positivo(numero):
if resultado > 0:
print(f'O número {resultado} é positivo')
else:
print(f'O número {resultado} é negativo')

numero1= float(input('Digite o primeiro número: '))
numero2= float(input('Digite o segundo número: '))

operacao = input('Digite a operação que deseja realizar (+, -, *, /): ')

if operacao == '+':
resultado = numero1 + numero2
elif operacao == '-':
resultado = numero1 - numero2
elif operacao == '*':
resultado = numero1 * numero2
elif operacao == '/':
resultado = numero1 / numero2

print('\n')
eh_inteiro(resultado)
eh_par(resultado)
eh_positivo(resultado)

#Q11

l1 = float(input('Digite o primeiro lado do triângulo: '))
l2 = float(input('Digite o segundo lado do triângulo: '))
l3 = float(input('Digite o terceiro lado do triângulo: '))

if l1 + l2 > l3 and l1 + l3 > l2 and l2 + l3 > l1:
print('É possível formar um triângulo')

#todos lados iguais
if l1 == l2 and l1 == l3:
print('É um triângulo equilátero')

if l1 == l2 or l1 == l3 or l2 == l3: #Quaisquer dois lados iguais
print('É um triângulo isósceles')

if l1 != l2 and l1 != l3 and l2 != l3: #Todos lados diferentes
print('É um triângulo escaleno')

#Q12
def ObterTaxaDesconto(quantidade, tipo_combustivel):
desconto = 0

#Diesel
if tipo_combustivel== "D" and quantidade <= 15 :
  desconto = 0.03
else:
  desconto = 0.05

#Etanol
if tipo_combustivel == "E" and quantidade <= 15:
  desconto = 0.02
else:
  desconto = 0.04

return desconto

def CalcularValorDesconto(quantidade, preco, taxa_desconto):
valor_desconto = 0
valor_desconto = ((quantidade * preco) * taxa_desconto)

return valor_desconto

def mostrar_resultado(tipo_combustivel, quantidade, preco, valor_desconto):
print('\n')
print(f'O tipo do combustível é: {tipo_combustivel.upper()}' )
print(f'O preço do litro é de R${preco:.2f}')
print(f'A quantidade de litros é de {quantidade:.2f}')
print(f'O valor do desconto é {valor_desconto:.2f}')
print(f'O valor Total é de R${(quantidade * preco):.2f}')
print(f'O valor Total COM Desconto é de R${((quantidade * preco) - valor_desconto):.2f}')

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

preco_etanol = 1.70
preco_diesel = 2.0

if(tipo_combustivel.upper() == 'D'):
tx_desconto = ObterTaxaDesconto(quantidade, tipo_combustivel)
valor_desconto = CalcularValorDesconto(quantidade, preco_diesel, tx_desconto)
mostrar_resultado(tipo_combustivel, quantidade, preco_diesel, valor_desconto)
elif(tipo_combustivel.upper() == 'E'):
tx_desconto = ObterTaxaDesconto(quantidade, tipo_combustivel)
valor_desconto = CalcularValorDesconto(quantidade, preco_etanol, tx_desconto)
mostrar_resultado(tipo_combustivel, quantidade, preco_etanol, valor_desconto)
else:
print('Tipo de combustível inválido')

#Q13

valor_2022 = float(input('Digite o valor de vendas em 2022: '))
valor_2023 = float(input('Digite o valor de vendas em 2023: '))

variacao_percentual = ((valor_2023 - valor_2022) / valor_2022) * 100

print(f'A variação percentual foi de {variacao_percentual:.2f}%')

if variacao_percentual > 20:
print('Bonificação para o time de vendas')
elif variacao_percentual >= 2 and variacao_percentual <= 20:
print('Pequena bonificação para time de vendas')
elif variacao_percentual >= -10 and variacao_percentual < 2:
print('Planejamento de políticas de incentivo às vendas.')
else:
print('Corte de Gastos')

3 respostas

Olá, Marcelo! Tudo bem?

Sua segunda parte do desafio está excelente! Você elevou o nível ao utilizar funções (def), o que é uma das práticas mais importantes em Data Science para manter o código limpo, reutilizável e organizado.

Aqui estão os pontos de destaque na sua resolução:

1. Modularização com Funções (Q10 e Q12)

Ao separar a lógica de verificação (inteiro, par, positivo) e o cálculo de descontos em funções, você tornou o seu código principal muito mais fácil de ler.

  • Dica Técnica: Nas suas funções da Q10, você está usando a variável global resultado. Para que a função seja verdadeiramente independente, o ideal é usar o parâmetro que você definiu (numero):
    def eh_par(numero): # O valor entra aqui
        if numero % 2 == 0: # E é testado aqui
            print(f'O número {numero} é par')
    

2. Lógica Geométrica (Q11)

A sua verificação para a formação de um triângulo (l1 + l2 > l3...) está perfeita. Muitos iniciantes esquecem dessa regra básica da geometria.

  • Pequeno ajuste: No teste do triângulo Isósceles, você usou if. Se o triângulo for Equilátero (3 lados iguais), ele também entrará na condição de Isósceles (2 lados iguais). Para que o programa imprima apenas uma classificação, você pode usar a estrutura if/elif/else:
    if l1 == l2 == l3:
        print('Equilátero')
    elif l1 == l2 or l1 == l3 or l2 == l3:
        print('Isósceles')
    else:
        print('Escaleno')
    

3. Sistema de Descontos e Vendas (Q12 e Q13)

  • Q12: A estrutura de preços e descontos para combustível está muito bem amarrada. O uso do .upper() garante que o sistema não falhe se o usuário digitar letras minúsculas.
  • Q13: O cálculo da variação percentual é a base da análise de dados para negócios. Sua lógica de faixas de bonificação vs. planejamento de incentivo está muito coerente com cenários reais de análise de performance.

Destaque de Evolução

Diferente da Parte 1, aqui você já está trabalhando com lógica de decisão aninhada e retorno de valores, o que demonstra que você está avançando rápido no conteúdo de Python para Dados.

Parabéns pelo empenho e pela organização dos projetos! Se tiver qualquer dúvida sobre como passar parâmetros entre funções, estou à disposição.

Espero que possa ter lhe ajudado!

Sensacional, obrigado, e como que eu faço pro meu código ficar formatado bonitinho como o seu com os 3 pontinhos coloridos no canto superior esquerdo aqui na caixinha de publicar?

Olá, Marcelo! Como vai?

Parabéns pela resolução das atividades!

Para compartilhar códigos de maneira ainda mais organizada aqui no fórum, você pode utilizar a opção abaixo:

Opção inserir bloco de código, da caixa de perguntas do fórum da alura

Após clicar, irá aparecer uma estrutura da seguinte maneira:

Opção de bloco de código sendo illustrada
O resultado será o seguinte:

Copie o seu código aqui

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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