2
respostas

[Projeto] tentativa

gastos = [2172.54, 3701.35, 3518.09, 3456.61, 3249.38, 2840.82, 3891.45, 3075.26, 2317.64, 3219.08]
media = sum(gastos) / len(gastos)
print(f"Média de gastos: R$ {media:.2f}")
Compras acima de 3000 e porcentagem
acima_3000 = [valor for valor in gastos if valor > 3000]
qtd = len(acima_3000)
porcentagem = (qtd / len(gastos)) * 100
print(f"Compras acima de 3000: {qtd} ({porcentagem:.1f}%)")

3 Lista de 5 números inteiros
numeros = []
for i in range(5):
n = int(input(f"Digite o {i+1}º número inteiro: "))
numeros.append(n)
print("Lista:", numeros)

4 Lista em ordem inversa
numeros = []
for i in range(5):
n = int(input(f"Digite o {i+1}º número inteiro: "))
numeros.append(n)
print("Lista inversa:", numeros[::-1])

5 Lista de números primos até N
n = int(input("Digite um número: "))
primos = []
for i in range(2, n + 1):
for j in range(2, int(i ** 0.5) + 1):
if i % j == 0:
break
else:
primos.append(i)
print("Números primos até", n, ":", primos)

6 Validação de data
dia = int(input("Dia: "))
mes = int(input("Mês: "))
ano = int(input("Ano: "))

valida = True

if mes < 1 or mes > 12:
valida = False
elif dia < 1 or dia > 31:
valida = False
elif mes in [4, 6, 9, 11] and dia > 30:
valida = False
elif mes == 2:
bissexto = (ano % 4 == 0 and ano % 100 != 0) or (ano % 400 == 0)
if (bissexto and dia > 29) or (not bissexto and dia > 28):
valida = False

print("Data válida." if valida else "Data inválida.")

7 Percentual de crescimento bacteriano
bacterias = [1.2, 2.1, 3.3, 5.0, 7.8, 11.3, 16.6, 25.1, 37.8, 56.9]
crescimento = []

for i in range(1, len(bacterias)):
perc = 100 * (bacterias[i] - bacterias[i - 1]) / bacterias[i - 1]
crescimento.append(perc)

print("Percentuais de crescimento por dia:")
for i, p in enumerate(crescimento, 2):
print(f"Dia {i}: {p:.2f}%")

8 Separar doces e amargos (pares e ímpares)
doces = amargos = 0

for i in range(10):
id_produto = int(input(f"Digite o ID do produto {i+1}: "))
if id_produto % 2 == 0:
doces += 1
else:
amargos += 1

print(f"Doces: {doces} | Amargos: {amargos}")

9 Prova e gabarito
gabarito = ['D','A','C','B','A','D','C','C','A','B']
acertos = 0

for i in range(10):
resposta = input(f"Resposta da questão {i+1}: ").upper()
if resposta == gabarito[i]:
acertos += 1

print(f"Nota final: {acertos}/10")

10 Temperaturas mensais
meses = ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho",
"Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"]

temperaturas = []
for m in meses:
temp = float(input(f"Digite a temperatura média de {m}: "))
temperaturas.append(temp)

media_anual = sum(temperaturas) / len(temperaturas)
print(f"Média anual: {media_anual:.2f}°C")

print("\nMeses com temperatura acima da média:")
for i, temp in enumerate(temperaturas):
if temp > media_anual:
print(f"{meses[i]}: {temp:.2f}°C")

11 Total de vendas e produto mais vendido
vendas = {'Produto A': 300, 'Produto B': 80, 'Produto C': 60,
'Produto D': 200, 'Produto E': 250, 'Produto F': 30}

total = sum(vendas.values())
mais_vendido = max(vendas, key=vendas.get)

print(f"Total de vendas: {total}")
print(f"Produto mais vendido: {mais_vendido} ({vendas[mais_vendido]} vendas)")

12 Design vencedor
designs = {'Design 1': 1334, 'Design 2': 982, 'Design 3': 1751, 'Design 4': 210, 'Design 5': 1811}

total_votos = sum(designs.values())
vencedor = max(designs, key=designs.get)
porcentagem = (designs[vencedor] / total_votos) * 100

print(f"Design vencedor: {vencedor} ({porcentagem:.2f}% dos votos)")

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
2 respostas

13 Cálculo de abono
salarios = [1172, 1644, 2617, 5130, 5532, 6341, 6650, 7238, 7685, 7782, 7903]
abonos = {}
abono_minimo = 200

for s in salarios:
abono = s * 0.10
if abono < abono_minimo:
abono = abono_minimo
abonos[s] = abono

total_gasto = sum(abonos.values())
colab_minimo = sum(1 for a in abonos.values() if a == abono_minimo)
maior_abono = max(abonos.values())

print(f"Total gasto com abonos: R$ {total_gasto:.2f}")
print(f"Colaboradores com abono mínimo: {colab_minimo}")
print(f"Maior abono pago: R$ {maior_abono:.2f}")

14 Média e área mais diversa
areas = {'Área Norte': [2819, 7236],
'Área Leste': [1440, 9492],
'Área Sul': [5969, 7496],
'Área Oeste': [14446, 49688],
'Área Centro': [22558, 45148]}

media_por_area = {a: sum(v)/len(v) for a, v in areas.items()}
mais_diversa = max(media_por_area, key=media_por_area.get)

for area, media in media_por_area.items():
print(f"{area}: média de {media:.0f} espécies")

print(f"\nÁrea com maior diversidade: {mais_diversa}")

15 Análise de idades por setor
setores = {'Setor A': [22,26,30,30,35,38,40,56,57,65],
'Setor B': [22,24,26,33,41,49,50,54,60,64],
'Setor C': [23,26,26,29,34,35,36,41,52,56],
'Setor D': [19,20,25,27,34,39,42,44,50,65]}

média por setor

medias = {s: sum(v)/len(v) for s,v in setores.items()}

média geral

todas_idades = [idade for lista in setores.values() for idade in lista]
media_geral = sum(todas_idades)/len(todas_idades)

acima da média geral

acima_media = sum(1 for idade in todas_idades if idade > media_geral)

print("Média por setor:")
for s, m in medias.items():
print(f"{s}: {m:.2f}")

print(f"\nMédia geral: {media_geral:.2f}")
print(f"Pessoas acima da média geral: {acima_media}")

Oi, Vanessa! Como vai?

Você fez um ótimo trabalho ao organizar vários desafios em sequência. Gostei de como você usou listas, dicionários e compreensão de listas (list comprehension) para resolver diferentes tipos de problema. Isso mostra domínio sobre estruturas de dados e lógica.

Uma dica é usar a função enumerate() para simplificar laços que precisam de índice e valor ao mesmo tempo. Veja este exemplo:

valores = [10, 20, 30]
for i, valor in enumerate(valores, 1):
    print(f"Item {i}: {valor}")

Esse código percorre a lista mostrando a posição e o valor de cada elemento, deixando o loop mais legível.

Continue se dedicando aos estudos e qualquer dúvida, compartilhe.

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