• Python
  • 10. Armazenamento de chaves e valores em dicionários

Meta nutricional#

Nos últimos anos, tem-se dado uma atenção maior ao valor nutricional dos alimentos que ingerimos e também se estamos suprindo, em diversos aspectos, as necessidades diárias do nosso corpo. O dono de um aplicativo de Nutrição te contratou para criar uma funcionalidade que informa ao usuário se ele atingiu ou não a meta dos Valores Diários Recomendados (VDR) dos nutrientes.

Você deverá fazer uma função que receberá como entrada os seguintes argumentos (nesta ordem):

  • um dicionário de VDRs, cujas chaves são nutrientes e cujos valores são quantidades relativas às necessidades diárias de uma pessoa;
  • um dicionário de tabelas nutricionais, cujas chaves são nomes de alimentos e cujos valores são dicionários (nos quais as chaves são os nutrientes do respectivo alimento e os valores são a quantidade do mesmo presente em um porção do alimento);
  • uma lista com os nomes dos alimentos ingeridos pelo usuário em um dia.

Sua função deverá devolver True caso o usuário tenha atingido a meta para todos os nutrientes, ou False caso contrário.

Você pode assumir que o usuário ingeriu uma porção de cada alimento da lista e que todos os alimentos da lista constam no dicionário de tabelas nutricionais.

EXEMPLO:

Para a entrada:

  • VDR:
    {
        'Proteínas': 80,
        'Vitamina C': 90,
        'Magnésio': 200
    }
    
  • Tabelas nutricionais:
    {
        'Ovo': {
            'Proteínas': 10,
            'Magnésio': 30
        },
        'Laranja': {
            'Vitamina C': 50
        },
        'Tangerina': {
            'Vitamina C': 45
        },
        'Frango': {
            'Proteínas': 70,
            'Magnésio': 40
        },
        'Amêndoa': {
            'Magnésio': 200,
            'Vitamina E': 30
        }
    }
    
  • Alimentos ingeridos:
    ['Ovo','Laranja','Frango','Amêndoa','Tangerina']
    

Sua função deve devolver True

Perceba que no dicionário de tabelas nutricionais pode constar nutrientes que não constam no dicionário de VDRs. Você pode ignorá-los.

O nome da sua função deve ser atingiu_meta_nutricional.