Capítulo 27
Projeto: diário de colheita
3 min de leitura 551 palavras 1 gravura
Neste capítulo você vai registrar colheitas e totais do dia. O projeto de estudo é o Caderno da Mangueira, horto comunitário fictício em Belém.
Seu ponto de partida
Você sabe abrir pastas e um terminal. O exemplo deste capítulo é 27-diario-colheita, no pacote que acompanha o volume. Trabalhe sobre uma cópia da pasta inicio/ e preserve o original; a versão de referência fica na raiz do exemplo.
No terminal, entre na pasta da cópia e rode:
python main.py
Não publique nada. Tudo fica no seu computador.
Como praticar
Leia → confira o código → mude uma coisa → preveja → rode de novo → confira. Investigue o erro antes de avançar. Ao terminar cada experiência, restaure a mudança pedida quando o capítulo indicar.

Diário de colheita
Liste registros e some totais. O Caderno da Mangueira registra mudas, tarefas e colheitas fictícias. Cada capítulo acrescenta uma peça.
Faça na sua cópia
Abra main.py e localize o trecho desta lição. A implementação completa está no pacote de exemplos que acompanha este volume.
diario.append({"especie": especie, "kg": kg})
Mude uma coisa e preveja
Altere somente um valor ou uma mensagem ligada a esta lição.
Anote o que espera observar antes de rodar de novo.
Recarregue e confira
Rode python main.py. Compare com a previsão. Se divergiu, leia o erro por completo.
Se não acontecer
Confirme a pasta do terminal e o arquivo editado. Na dúvida, compare com a referência da raiz do exemplo.
Lista de dicts
Cada registro é um dicionário.
Faça na sua cópia
Repita o ciclo com o segundo ponto do capítulo. Mantenha o restante estável.
Mude uma coisa e preveja
Faça uma mudança pequena e diferente da primeira lição.
Anote a previsão.
Recarregue e confira
O console deve refletir só o que você alterou.
Se não acontecer
Releia a mensagem de erro de baixo para cima. Corrija uma causa por vez.
Erro comum
Somar strings em vez de números.
Faça na sua cópia
Provoca o erro de propósito na cópia, observe a mensagem, depois restaure o arquivo bom.
Mude uma coisa e preveja
Preveja a mensagem antes de provocar o erro.
Recarregue e confira
A mensagem deve apontar o arquivo e a linha. Restaure em seguida.
Se não acontecer
Se o erro for outro, você mudou demais. Volte à referência e refaça só o passo pedido.
Atividades
Faça na cópia. Não olhe as respostas antes de tentar.
- Explique com suas palavras o objetivo: Registrar colheitas e totais do dia.
- Faça uma mudança diferente da lição e diga o que esperava versus o que viu.
- Escreva um caso em que o programa deve falhar de propósito e como você reconhece o erro.
Critério de avanço
Você avança quando registrar colheitas e totais do dia.
Respostas comentadas
Atividade 1
O objetivo amarra a etapa ao Caderno da Mangueira; sem isso o comando fica solto.
Atividade 2
Prever antes de rodar mostra se você entendeu a regra ou só imitou o código.
Atividade 3
Provocar o erro e ler a mensagem é parte do ofício, não sinal de fracasso.
O arquivo completo
Referência do exemplo 27-diario-colheita, reproduzida aqui para que você possa conferir sem sair da página.
main.py
diario = []
def registrar(especie, kg):
diario.append({"especie": especie, "kg": kg})
def total():
return sum(item["kg"] for item in diario)
registrar("açaí", 2.5)
registrar("cupuaçu", 1.0)
print("entradas", len(diario))
print("total kg", total())