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!

0
respostas

[Projeto] Desafio: hora da prática | Python para Dados: primeiros passos | PT 1

Aquecendo na Programação

  1. Média de gastos
gastos = [2172.54, 3701.35, 3518.09, 3456.61, 3249.38, 2840.82, 3891.45, 3075.26, 2317.64, 3219.08]

media_gastos = sum(gastos) / len(gastos)

print(f"A média de gastos da empresa é: R$ {media_gastos:.2f}")
  1. Compras acima de R$ 3000
gastos = [2172.54, 3701.35, 3518.09, 3456.61, 3249.38, 2840.82, 3891.45, 3075.26, 2317.64, 3219.08]

# Filtrando as compras maiores que 3000
compras_acima_3000 = [gasto for gasto in gastos if gasto > 3000]
qtd_acima = len(compras_acima_3000)

# Calculando a porcentagem
porcentagem = (qtd_acima / len(gastos)) * 100

print(f"Quantidade de compras acima de R$ 3000: {qtd_acima}")
print(f"Porcentagem do total: {porcentagem:.1f}%")
  1. Coletar 5 números e imprimir
numeros = []
for i in range(5):
    num = int(input(f"Digite o {i+1}º número inteiro: "))
    numeros.append(num)

print(f"Lista coletada: {numeros}")
  1. Coletar 5 números e inverter
numeros = []
for i in range(5):
    num = int(input(f"Digite o {i+1}º número inteiro: "))
    numeros.append(num)

# Invertendo a lista usando fatiamento (slice)
print(f"Lista em ordem inversa: {numeros[::-1]}")
  1. Gerador de números primos
limite = int(input("Digite um número limite: "))
primos = []

for num in range(2, limite + 1):
    eh_primo = True
    for i in range(2, int(num ** 0.5) + 1):
        if num % i == 0:
            eh_primo = False
            break
    if eh_primo:
        primos.append(num)

print(f"Números primos entre 1 e {limite}: {primos}")
  1. Validador de data
dia = int(input("Digite o dia: "))
mes = int(input("Digite o mês: "))
ano = int(input("Digite o ano: "))

valida = False

# Meses com 31 dias
if mes in (1, 3, 5, 7, 8, 10, 12):
    if 1 <= dia <= 31:
        valida = True
# Meses com 30 dias
elif mes in (4, 6, 9, 11):
    if 1 <= dia <= 30:
        valida = True
# Fevereiro e a regra do ano bissexto
elif mes == 2:
    if (ano % 4 == 0 and ano % 100 != 0) or (ano % 400 == 0):
        if 1 <= dia <= 29:
            valida = True
    elif 1 <= dia <= 28:
        valida = True

if valida:
    print(f"A data {dia:02d}/{mes:02d}/{ano} é VÁLIDA para análise.")
else:
    print(f"A data {dia:02d}/{mes:02d}/{ano} é INVÁLIDA.")