title: Aplicativo de cartões de estudo description: Estude um baralho de cartões carregados de um arquivo JSON, com rastreamento de pontuação entre sessões.
Aplicativo de cartões de estudo
Zee Então, é o seguinte. Tenho a prova de sistemas de propulsão em seis semanas e aprendo muito melhor testando a mim mesma. Você pode criar um aplicativo de cartões? Carrega cartões de um arquivo, mostra o frente, digito minha resposta, ele me diz se acertei. E quero que salve meu progresso para poder continuar de onde parei. Por favor 🙏
O que você vai construir
Deck: python-basics.json (12 cartões)
Frente: O que len() retorna para uma string?
Sua resposta: o número de caracteres
Correto!
Frente: Que tipo input() sempre retorna?
Sua resposta: int
Incorreto. A resposta é: str
---
Sessão completa: 8/12 corretos.
Progresso salvo.O que você vai precisar
- Classes e objetos - uma classe
Carde uma classeDeckoferecem uma forma limpa de modelar os dados - Arquivos e exceções - carregando e salvando o baralho de um arquivo JSON, tratando um arquivo ausente na primeira execução
- Módulos e a biblioteca padrão -
jsonpara manipulação de arquivos,randompara embaralhamento - Dicionários e listas - a estrutura subjacente antes de envolvê-la em classes
- Fluxo de controle - iterando pelo baralho, ramificando em respostas corretas ou incorretas
Dicas
Comece com os dados, não com as classes. Um cartão são duas strings: frente e verso. Um baralho é uma lista de cartões. Faça isso funcionar primeiro, depois envolva em classes se quiser uma interface mais limpa.
JSON trata o formato do arquivo. json.load() lê um arquivo em uma lista ou dicionário Python. json.dump() escreve de volta. O módulo json está na biblioteca padrão.
Envolva o carregamento do arquivo em try/except. Na primeira vez que o script é executado, o arquivo de salvamento não existirá. Capturar FileNotFoundError permite que você comece com um baralho vazio de forma elegante em vez de travar.
Indo além
Depois que o loop de estudo principal funcionar:
- Repita respostas incorretas. Acompanhe quais cartões o jogador errou e faça um loop novamente no final da sessão.
- Múltiplos baralhos. Liste os arquivos
.jsondisponíveis em uma pasta e deixe o usuário escolher qual baralho estudar. - Repetição espaçada. Registre quantas vezes cada cartão foi respondido corretamente. Mostre cartões respondidos corretamente com menos frequência mais frequentemente.

