Python Forum

Full Version: I don't undestand why my code isn't working.
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
treinamentos = [
{'treinamento':'Scrum','moedas':30},
{'treinamento':'Data Science','moedas':40},
{'treinamento':'Gestão de Projetos','moedas':50},
{'treinamento':'Marketing','moedas':30},
{'treinamento':'Cloud','moedas':20},
{'treinamento':'Blockchain','moedas':10},
{'treinamento':'Python','moedas':30}]

pedidos = ['Data Science','Scrum','Gestão de Projetos','Marketing','Cloud','Python','Python','Python',
'Scrum','Data Science','Gestão de Projetos','Marketing','Data Science','Gestão de Projetos',
'Python','Marketing','Data Science','Gestão de Projetos','Data Science','Gestão de Projetos','Data Science']

lista_pedidos = sorted(set(pedidos))

for a in lista_pedidos:
  for b in treinamentos:
    if a == b['treinamento']:
      b['qtde'] = pedidos.count(a)
    else:
      b['qtde'] = 0
print(treinamentos)
Saída:
Output:
[{'treinamento': 'Scrum', 'moedas': 30, 'qtde': 2}, {'treinamento': 'Data Science', 'moedas': 40, 'qtde': 0}, {'treinamento': 'Gestão de Projetos', 'moedas': 50, 'qtde': 0}, {'treinamento': 'Marketing', 'moedas': 30, 'qtde': 0}, {'treinamento': 'Cloud', 'moedas': 20, 'qtde': 0}, {'treinamento': 'Blockchain', 'moedas': 10, 'qtde': 0}, {'treinamento': 'Python', 'moedas': 30, 'qtde': 0}]
you reset qtde to 0 every time when a != b['treinamento']
(Jun-17-2021, 03:03 PM)buran Wrote: [ -> ]you reset qtde to 0 every time when a != b['treinamento']

It makes sense, it's working now. Thanks