1
resposta

Python para Dados | Desafio: hora da prática

1

n1 = float(input("Digite o primeiro número: "))
n2 = float(input("Digite o segundo número: "))

if n1 > n2:
print("Maior número:", n1)
else:
print("Maior número:", n2)

2

percentual = float(input("Digite o percentual: "))

if percentual > 0:
print("Houve crescimento.")
elif percentual < 0:
print("Houve decrescimento.")
else:
print("Sem alteração.")

3

letra = input("Digite uma letra: ").lower()

if letra in "aeiou":
print("Vogal")
else:
print("Consoante")

4

a = float(input("Preço ano 1: "))
b = float(input("Preço ano 2: "))
c = float(input("Preço ano 3: "))

print("Maior:", max(a, b, c))
print("Menor:", min(a, b, c))

5

p1 = float(input("Preço produto 1: "))
p2 = float(input("Preço produto 2: "))
p3 = float(input("Preço produto 3: "))

menor = min(p1, p2, p3)

print("Produto mais barato:", menor)

6

n1 = int(input("Número 1: "))
n2 = int(input("Número 2: "))
n3 = int(input("Número 3: "))

lista = [n1, n2, n3]
lista.sort(reverse=True)

print(lista)

7

turno = input("Digite o turno: ").lower()

if turno == "manhã":
print("Bom Dia!")
elif turno == "tarde":
print("Boa Tarde!")
elif turno == "noite":
print("Boa Noite!")
else:
print("Valor inválido!")

8

numero = int(input("Digite um número: "))

if numero % 2 == 0:
print("Par")
else:
print("Ímpar")

9

numero = float(input("Digite um número: "))

if numero == int(numero):
print("Inteiro")
else:
print("Decimal")

10

n1 = float(input("Primeiro número: "))
n2 = float(input("Segundo número: "))
op = input("Operação (+,-,*,/): ")

if op == "+":
resultado = n1 + n2
elif op == "-":
resultado = n1 - n2
elif op == "*":
resultado = n1 * n2
elif op == "/":
resultado = n1 / n2
else:
resultado = 0
print("Operação inválida")

print("Resultado:", resultado)

if resultado >= 0:
print("Positivo")
else:
print("Negativo")

if resultado == int(resultado):
print("Inteiro")
else:
print("Decimal")

11

l1 = float(input("Lado 1: "))
l2 = float(input("Lado 2: "))
l3 = float(input("Lado 3: "))

if l1 + l2 > l3 and l1 + l3 > l2 and l2 + l3 > l1:
if l1 == l2 == l3:
print("Equilátero")
elif l1 == l2 or l1 == l3 or l2 == l3:
print("Isósceles")
else:
print("Escaleno")
else:
print("Não forma triângulo")

12

tipo = input("Combustível (E/D): ").upper()
litros = float(input("Litros: "))

if tipo == "E":
preco = 1.70
desconto = 0.02 if litros <= 15 else 0.04
elif tipo == "D":
preco = 2.00
desconto = 0.03 if litros <= 15 else 0.05

total = preco * litros
valor_desconto = total * desconto
final = total - valor_desconto

print("Valor final:", final)

13

v2022 = float(input("Vendas 2022: "))
v2023 = float(input("Vendas 2023: "))

variacao = ((v2023 - v2022) / v2022) * 100

print(f"Variação: {variacao:.2f}%")

if variacao > 20:
print("Grande bonificação")
elif variacao >= 2:
print("Pequena bonificação")
elif variacao >= -10:
print("Incentivo às vendas")
else:
print("Corte de gastos")

1 resposta

Olá, Estudante. Como vai?

Parabéns por concluir essa extensa lista de exercícios! É através da repetição e do enfrentamento de diferentes cenários que a lógica de programação se torna natural. Você demonstrou um ótimo domínio de estruturas condicionais, operadores lógicos e até funções embutidas como max(), min() e o método sort().

Gostaria de destacar alguns pontos positivos e oferecer sugestões técnicas para elevar ainda mais a qualidade do seu código:

1. Tratamento de Strings e Normalização

No exercício 3 (vogais) e no 7 (turnos), você utilizou corretamente o .lower(). Essa é uma boa prática essencial em Data Science, pois garante que a entrada do usuário seja padronizada, evitando erros onde "Manhã" seria considerado diferente de "manhã".

2. Operador Modular e Lógica Matemática

No exercício 8 e 9, você usou o operador % (resto da divisão) e a comparação com int(). Essas são formas muito eficientes de validar propriedades numéricas. Para entender como o Python processa essas divisões internamente, imagine o fluxo:

3. Refinando a Calculadora (Exercício 10)

No exercício da calculadora, notei que se o usuário digitar uma operação inválida, o código exibe "Operação inválida" mas continua tentando imprimir o resultado e verificar se é positivo ou inteiro. Uma dica é utilizar o comando return (se estiver dentro de uma função) ou estruturar o print dentro de um bloco que só executa se a operação for válida:

# Trecho sugerido para o exercício 10
if op in ["+", "-", "*", "/"]:
    # ... realiza o cálculo ...
    print(f"Resultado: {resultado}")
    # ... faz as verificações de positivo/inteiro ...
else:
    print("Erro: Operação inválida.")

4. Triângulos e Condicionais Aninhadas (Exercício 11)

Sua verificação da existência de um triângulo (l1 + l2 > l3...) está perfeita! É um excelente exemplo de como condicionais aninhadas (um if dentro de outro) ajudam a filtrar os dados em etapas: primeiro validamos se o objeto existe, depois o classificamos.

5. Cálculo de Percentuais (Exercício 13)

O cálculo da variação percentual está correto e é a base de muitas análises financeiras e de crescimento em Ciência de Dados. A fórmula que você aplicou é a base para o cálculo de churn ou crescimento de receita (MoM/YoY).

variacao = ((valor_final - valor_inicial) / valor_inicial) * 100

Continue praticando com essa mesma organização. Você está construindo uma base sólida para trabalhar com bibliotecas mais avançadas no futuro, como o Pandas!

Espero que possa ter lhe ajudado!