Prazo de entrega recomendado:
Nesta tarefa, iremos ajudar Juan a manter sua alimentação saudável. Para isso, será necessário analisar os alimentos que ele consume normalmente e consultar os dados nutricionais em armazenados em uma lista.
Juan é estudante de Ciência da Computação na Unicamp. Ele está empolgado com as disciplinas de programação e dedica grande de seu dia para estudar e resolver os diferentes problemas de programação. Para aguentar todas as horas na universidade, ele precisa de uma dieta equilibrada, mantendo a quantidade adequada de nutrientes de que o corpo necessita.
a) Café, almoço e janta
Cada alimento tem diferentes quantidades de nutrientes. Por exemplo,
em 100
gramas de peito de frango, encontramos 20
gramas de
proteína, 0
gramas de carboidrato e 5
gramas de gordura. Juan pesa
70
kg e precisa ter consumido ao final do dia 140
gramas de
proteína, 210
gramas de carboidrato e 56
gramas de gordura.
Você deve construir um programa chamado alimentos.py
que indica a Juan
quais nutrientes estão em falta ou em excesso.
Entrada
A entrada contém uma linha com o um número N
seguida de uma lista
com N
alimentos. Cada alimento é representado por quatro entradas:
nome do alimento e quantidades de proteína, carboidrato e gordura.
Depois disso, a entrada conterá três listas com os alimentos que Juan
consumiu no café da manha, no almoço e na janta. Os alimentos de cada
refeição estão separados por espaço.
14
Pão 12.4 59.6 5.7
Azeite 0.0 0.0 50.0
Lentilha 23.2 62.0 0.8
Frango 20.0 0.0 5.0
Iogurte 2.7 9.7 2.3
Manga 0.4 19.4 0.2
Leite 34.7 53.0 0.9
Corvina 18.6 0.0 1.6
Manteiga 0.4 42.4 0.1
Queijo 22.6 3.0 25.2
Merluza 26.9 0.0 8.5
Ovo 13.0 1.6 8.9
Feijão 20.0 61.2 1.3
Arroz 2.6 25.8 1.0
Iogurte Pão
Arroz Frango Feijão Manga
Leite Ovo Pão
Saída
A saída deve informar quais nutrientes foram consumidos em falta ou excesso, conforme o exemplo. O valor deve ter uma casa decimal.
21.8 gramas de proteína em falta
79.9 gramas de carboidrato em excesso
25.0 gramas de gordura em falta
b) Alimentação diversificada
Depois de ter ajustado a quantidade de nutrientes necessários para seu organismo, Juan ficou entediado comendo sempre os mesmos alimentos, todos os dias. Por esse motivo, ele decidiu que irá comer no restaurante universitário (RU) apenas duas vezes em cada período e que irá escolher os dois dias que juntos contêm a maior variedade de alimentos de que gosta.
Escreva um program variar_alimentos.py
que ajuda Juan a decidir quando comer no
RU.
Entrada
A primeira linha da entrada contém a lista dos vários alimentos que
Juan gosta de comer. Na segunda linha, há um número N
representando
quantos dias tem o período em que Juan está considerando. Em seguida,
há N
linhas, cada uma representando o cardápio de um dia.
Batata Arroz Biscoito Pão Bolo Abobora Cereal Pastel Brócolis Feijão Chocolate Lasanha Kiwi
20
04/04/22: Batata Laranja Risoto Peixe Caju
05/04/22: Chocolate Gelatina Kiwi Abobora Risoto
06/04/22: Chocolate Arroz Gelatina
07/04/22: Cereal Gelatina Doces Frango
08/04/22: Chocolate porco laranja Pão Caju
11/04/22: Biscoito Geléia Carne Bolo Caju
12/04/22: Caju Feijão Brócolis Peixe Gelatina Biscoito
13/04/22: Chocolate Laranja Sorvete Inhoque Cajá Doces
14/04/22: Frango Carne Gelatina Abobora Doces Pão
15/04/22: Geléia Carne Caju Risoto
18/04/22: Peixe Panqueca Caju Maça
19/04/22: Lasanha Porco Kiwi Cajá
20/04/22: Chocolate Biscoito Abobora Lasanha Frango
21/04/22: Castanha Batata Panqueca Chocolate Kiwi
22/04/22: Pastel Chocolate Inhoque Arroz Abobora
25/04/22: Pastel Peixe Lasanha Doces Laranja Castanha
26/04/22: Pastel Lasanha Doces Cereal Castanha
27/04/22: Panqueca Arroz Biscoito Porco Abobora
28/04/22: Biscoito Geléia Cajá
29/04/22: Castanha Carne Doces Lasanha Pastel Frango
Saída
O maior número de alimentos diferentes que Juan gosta e pode comer em dois dias do período, seguido do cardápio desses dois dias apenas com os alimentos de que ele gosta. Se houver mais de dois pares que contêm o memos número de alimentos de que Juan gosta, escolha aquele em que o primeiro dia vem primeiro e, persistindo o empate, o par em que o segundo dia vem primeiro.
Juan pode comer 7 alimentos diferentes
12/04/22: Feijão Brócolis Biscoito
22/04/22: Pastel Chocolate Arroz Abobora
Dicas
-
Você pode ler uma linha com uma lista de palavras separadas por espaço usando separando a string com
split
.lista = input().split()
-
Para remover o primeiro elemento de uma lista com muitos elementos, diminuindo o tamanho da lista e devolvendo o primeiro elemento, use
pop
.nome_completo = "João Carlos Martins" nomes = nome_completo.split() primeiro_nome = nomes.pop(0)
-
Para verificar se um valor está em uma lista, é possível usar o operador
in
.primos_pequenos = [2, 3, 5, 7, 11, 13] assert 7 in primos_pequenos assert 31 not in primos_pequenos
-
Para imprimir na tela sem a quebra de linha automática, use o argumento
end
.print(..., end="")
Critérios
Você deve utilizar listas para armazenar conjuntos de dados em seus
programa. Não é permitido utilizar métodos de lista além dos listados
aqui (in
, append
, pop
). É proibido utilizar outras estruturas de
dados.
Correção
Esta tarefa será corrigida automaticamente sempre que você realizar um
git push
. Depois de terminada a tarefa, deve-se utilizar o botão na
interface de notas para solicitar a correção de um monitor. Você
deverá apresentar esta tarefa a algum PED. Para isso, procure
atendimento em algum horário com monitor PED e digite apresentar 4
no canal fila-apresentar
.