1
resposta

[Projeto] Desafio: hora da prática (parte 5)

Boa tarde,

Seguem os códigos solicitados na atividade proposta "Desafio: hora da prática".

Momento dos projetos
8. Vamos entender a distribuição de idades de pensionistas de uma empresa de previdência. Escreva um programa que leia as idades de uma quantidade não informada de clientes e mostre a distribuição em intervalos de [0-25], [26-50], [51-75] e [76-100]. Encerre a entrada de dados com um número negativo.

faixa1 = faixa2 = faixa3 = faixa4 = 0

while True:
idade = int(input("Digite a idade (ou número negativo para sair): "))
if idade < 0:
break
if 0 <= idade <= 25:
faixa1 += 1
elif 26 <= idade <= 50:
faixa2 += 1
elif 51 <= idade <= 75:
faixa3 += 1
elif 76 <= idade <= 100:
faixa4 += 1

print(f"Distribuição: \n[0-25]: {faixa1} \n[26-50]: {faixa2} \n[51-75]: {faixa3} \n[76-100]: {faixa4}")

  1. Em uma eleição para gerência em uma empresa com 20 pessoas colaboradoras, existem quatro candidatos(as). Escreva um programa que calcule o(a) vencedor(a) da eleição. A votação ocorreu da seguinte maneira:
    Cada colaborador(a) votou em uma das quatro pessoas candidatas (que representamos pelos números 1, 2, 3 e 4).
    Também foram contabilizados os votos nulos (representados pelo número 5) e os votos em branco (representados pelo número 6).
    Ao final da votação, o programa deve exibir o número total de votos para cada candidato(a), os nulos e os votos em branco. Além disso, deve calcular e exibir a porcentagem de votos nulos em relação ao total de votos e a porcentagem de votos em branco em relação ao total de votos.

c1 = c2 = c3 = c4 = nulos = brancos = 0
total_votos = 20
print("Votação: 1, 2, 3, 4 para candidatos | 5 para Nulo | 6 para Branco")

for i in range(total_votos):
voto = int(input(f"Voto do colaborador {i+1}: "))
if voto == 1: c1 += 1
elif voto == 2: c2 += 1
elif voto == 3: c3 += 1
elif voto == 4: c4 += 1
elif voto == 5: nulos += 1
elif voto == 6: brancos += 1

perc_nulo = (nulos / total_votos) * 100
perc_branco = (brancos / total_votos) * 100

print("\n--- Resultado Final ---")
print(f"Candidato 1: {c1} votos")
print(f"Candidato 2: {c2} votos")
print(f"Candidato 3: {c3} votos")
print(f"Candidato 4: {c4} votos")
print(f"Nulos: {nulos} ({perc_nulo:.2f}%)")
print(f"Brancos: {brancos} ({perc_branco:.2f}%)")

Aquecendo na programação

  1. Faça um programa que tenha a seguinte lista contendo os valores de gastos de uma empresa de papel [2172.54, 3701.35, 3518.09, 3456.61, 3249.38, 2840.82, 3891.45, 3075.26, 2317.64, 3219.08]. Com esses valores, faça um programa que calcule a média de gastos. Dica: use as funções built-in sum() e len().

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"A média de gastos da empresa foi de R$ {media:.2f}")

  1. Com os mesmos dados da questão anterior, defina quantas compras foram realizadas acima de 3000 reais e calcule a porcentagem quanto ao total de compras.
    gastos = [2172.54, 3701.35, 3518.09, 3456.61, 3249.38, 2840.82, 3891.45, 3075.26, 2317.64, 3219.08]
    contador_acima_3000 = 0

for gasto in gastos:
if gasto > 3000:
contador_acima_3000 += 1
porcentagem = (contador_acima_3000 / len(gastos)) * 100
print(f"Foram realizadas {contador_acima_3000} compras acima de R$ 3.000,00.")
print(f"Isso representa {porcentagem}% do total de compras.")

  1. Faça um código que colete em uma lista 5 números inteiros quaisquer e imprima a lista. Exemplo: [1,4,7,2,4].

lista_numeros = []

for i in range(5):
num = int(input(f"Digite o {i+1}º número inteiro: "))
lista_numeros.append(num)
print(f"Lista coletada: {lista_numeros}")

  1. Colete novamente 5 inteiros e imprima a lista em ordem inversa à enviada.
    lista_numeros = []

for i in range(5):
num = int(input(f"Digite o {i+1}º número: "))
lista_numeros.append(num)
lista_numeros.reverse()
print(f"Lista na ordem inversa: {lista_numeros}")

  1. Faça um programa que, ao inserir um número qualquer, cria uma lista contendo todos os números primos entre 1 e o número digitado.
    limite = int(input("Digite um número: "))
    primos = []

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

print(f"Números primos entre 1 e {limite}: {primos}")

1 resposta

Olá, João! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de estruturas de repetição para organizar entradas e contagens, utilizou muito bem condicionais para classificar faixas e resultados, e ainda compreendeu a importância das listas e operações matemáticas para análises simples e objetivas.

Permaneça postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Ícone de sugestão Para saber mais:

Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:

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!