Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Sugestão] 05_Estrutura de dados - Desafio Hora da Prática - Atividade 12/13

## 12) Uma pesquisa de mercado foi feita para decidir qual design de marca infantil mais agrada as crianças. A pesquisa foi feita e o votos computados podem ser observados abaixo: Tabela de votos da marca
##Design 1 - 1334 votos
##Design 2 - 982 votos
##Design 3 - 1751 votos
##Design 4 - 210 votos
##Design 5 - 1811 votos
##Adapte os dados fornecidos para uma estrutura de dicionário. A partir dele, informe o design vencedor e a porcentagem de votos recebidos.

# Dicionário dos votos
marcavoto = {
    'Design 1' : 1334,
    'Design 2' : 982,
    'Design 3' : 1751,
    'Design 4' : 210,
    'Design 5' : 1811
}

# Calcula o total de votos
totaldevotos = 0
for voto in marcavoto.values():
    totaldevotos += voto

# Calcula a porcentagem de votos para cada design
porcentagem = {}
for design, voto in marcavoto.items():
    porcentagem[design] = (voto / totaldevotos) * 100

# Ordena o dicionário em ordem descrescente
porcentagem = dict(sorted(porcentagem.items(), key=lambda item: item[1], reverse=True))

# Exibe os resultados
print("Resultados da votação:")
for design, voto in marcavoto.items():
    print(f"{design}: {voto} votos ({porcentagem[design]:.2f}%)")

# Exibe o design vencedor
vencedor = max(marcavoto, key=marcavoto.get)
print(f"\nDesign vencedor: {vencedor} com {marcavoto[vencedor]} votos ({porcentagem[vencedor]:.2f}%)")
## 13) As pessoas colaboradoras de um setor da empresa que você trabalha vão receber um abono correspondente a 10% do salário devido ao ótimo desempenho do time. O setor financeiro solicitou sua ajuda para a verificação das consequências financeiras que esse abono irá gerar nos recursos. Assim, foi encaminhada para você uma lista com os salários que receberão o abono: [1172, 1644, 2617, 5130, 5532, 6341, 6650, 7238, 7685, 7782, 7903]. O abono de cada colaborador(a) não pode ser inferior a 200. Em código, transforme cada um dos salários em chaves de um dicionário e o abono de cada salário no elemento. Depois, informe o total de gastos com o abono, quantos(as) colaboradores(as) receberam o abono mínimo e qual o maior valor de abono fornecido.
# Dados do Salário
basesalarial = {
    'Base 1': 1172,
    'Base 2': 1644,
    'Base 3': 2617,
    'Base 4': 5130,
    'Base 5': 5532,
    'Base 6': 6341,
    'Base 7': 6650,
    'Base 8': 7238,
    'Base 9': 7685,
    'Base 10': 7782,
    'Base 11': 7903,
    }

abono = []
gastosabono = 0

# Calculo de abono de 10% sob cada base
for base, salario in basesalarial.items():
    abono_valor = salario * 0.10
    abono.append(abono_valor)

# Atribui o valor de 200 para bases que receberão valores menores que 200
for i in range(len(abono)):
    if abono[i] < 200:
        abono[i] = 200

# Total de Gastos com Abono
for i in range(len(abono)):
    gastosabono += abono[i]

# Total de Gastos com Abono
print(f'Total de Gastos com Abono: R$ {gastosabono:.2f}')

# Listas das bases que receberão 200 de abono
bases200 = []
for i in range(len(abono)):
    if abono[i] == 200:
        bases200.append(list(basesalarial.keys())[i])
        print(f'{bases200[i]}')

# Maior abono pago
maior_abono = max(abono)
maior_abono_index = abono.index(maior_abono)
maior_abono_base = list(basesalarial.keys())[maior_abono_index]
print(f'Maior abono pago: {maior_abono_base} - R$ {maior_abono:.2f}')
1 resposta
solução!

Oi, Marinaldo! Como vai?

Agradeço por compartilhar mais essa etapa do desafio com a comunidade Alura.

Você seguiu uma lógica bem estruturada e trouxe uma boa divisão de etapas no código. O uso de dicionário e listas nas atividades 12 e 13 mostra que você está se apropriando muito bem dos conceitos de estruturas de dados.

Parabéns pela dedicação em cada detalhe e por manter a clareza nas saídas!

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