## 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.
clienteidade = {
'nome': [],
'idade': []
}
while True:
try:
nome = str(input('Digite o nome do cliente: '))
idade = int(input('Digite a idade do cliente: '))
# Se a idade for negativa, encerra o programa
if idade < 0:
print('Idade negativa detectada. Encerrando o programa...')
break
# Adiciona o cliente à lista
clienteidade['nome'].append(nome)
clienteidade['idade'].append(idade)
print('Cliente cadastrado com sucesso!')
except ValueError:
print('Valor inválido! Por favor, digite um número para a idade.')
except Exception as e:
print(f'Erro inesperado: {e}')
# Organiza os clientes em faixas etárias
faixa_0_25 = []
faixa_26_50 = []
faixa_51_75 = []
faixa_acima_75 = []
# Categoriza os clientes com base na idade
for i in range(len(clienteidade['idade'])):
idade = clienteidade['idade'][i]
nome = clienteidade['nome'][i]
if idade <= 25:
faixa_0_25.append((nome, idade))
elif idade <= 50:
faixa_26_50.append((nome, idade))
elif idade <= 75:
faixa_51_75.append((nome, idade))
else:
faixa_acima_75.append((nome, idade))
# Exibe os clientes agrupados por faixas etárias
if clienteidade['nome']:
print('\nClientes agrupados por faixas etárias:\n')
# Exibe clientes na faixa de 0 a 25 anos
if faixa_0_25:
print('0 até 25 anos:')
for nome, idade in faixa_0_25:
print(f'Nome: {nome} | Idade: {idade}')
# Exibe clientes na faixa de 26 a 50 anos
if faixa_26_50:
print('\n26 até 50 anos:')
for nome, idade in faixa_26_50:
print(f'Nome: {nome} | Idade: {idade}')
# Exibe clientes na faixa de 51 a 75 anos
if faixa_51_75:
print('\n51 até 75 anos:')
for nome, idade in faixa_51_75:
print(f'Nome: {nome} | Idade: {idade}')
# Exibe clientes acima de 75 anos
if faixa_acima_75:
print('\nMaiores de 75 anos:')
for nome, idade in faixa_acima_75:
print(f'Nome: {nome} | Idade: {idade}')
print('\nFim do programa!')
print('Pressione qualquer tecla para sair...')
input()
## 9) 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:
numcolabs = 20
colabscandidatos = 4
nomescandidatos = ['A', 'B', 'C', 'D', 'N']
votos = []
apuracao = {
'A': 0,
'B': 0,
'C': 0,
'D': 0,
'N': 0 # Nulo
}
while len(votos) < numcolabs:
voto = input('Digite o voto (A, B, C, D ou N para nulo): ').upper() # Converte para maiúsculas
if voto in apuracao:
votos.append(voto)
apuracao[voto] += 1
print('Voto computado com sucesso!')
else:
print('Voto inválido! Digite A, B, C, D ou N.')
# Exibir o status final da apuração após todos os votos
total_votos = sum(apuracao.values())
print(f'\nVotação finalizada. Resultado da apuração:\n')
print(f'Votos computados: {total_votos} de {numcolabs}')
print(f'Votos em A: {apuracao["A"]} ({(apuracao["A"]/total_votos)*100:.2f}%)')
print(f'Votos em B: {apuracao["B"]} ({(apuracao["B"]/total_votos)*100:.2f}%)')
print(f'Votos em C: {apuracao["C"]} ({(apuracao["C"]/total_votos)*100:.2f}%)')
print(f'Votos em D: {apuracao["D"]} ({(apuracao["D"]/total_votos)*100:.2f}%)')
print(f'Votos nulos: {apuracao["N"]} ({(apuracao["N"]/total_votos)*100:.2f}%)')
# Verificar o vencedor
vencedor = max(apuracao, key=apuracao.get)
# Verificar se há empate
candidatos_com_max_votos = [candidato for candidato, votos in apuracao.items() if votos == apuracao[vencedor]]
if len(candidatos_com_max_votos) > 1:
print(f'\nHouve um empate entre os candidatos {", ".join(candidatos_com_max_votos)}. A eleição será repetida.')
else:
print(f'O vencedor é: {vencedor}')