Aplicativo de estudo com flashcards
Zee Olá, então. Tenho a prova de sistemas de propulsão em seis semanas e aprendo muito melhor me testando. Você consegue criar um app de flashcards? Que carregue os cards de um arquivo, me mostre a frente, eu digito minha resposta e ele me diz se acertei. E quero que ele salve meu progresso para eu continuar de onde parei. Por favor 🙏
O que você vai construir
Deck: python-basics.json (12 cards)
Front: What does len() return for a string?
Your answer: the number of characters
Correct!
Front: What type does input() always return?
Your answer: int
Incorrect. The answer is: str
---
Session complete: 8/12 correct.
Progress saved.Do que você vai precisar
- Classes e objetos — uma classe
Carde uma classeDeckte dão uma forma limpa de modelar os dados - Arquivos e exceções — carregar e salvar o baralho a partir de um arquivo JSON, lidando com a ausência do arquivo na primeira execução
- Módulos e a biblioteca padrão —
jsonpara manipulação de arquivos,randompara embaralhar - Dicionários e listas — a estrutura subjacente antes de envolvê-la em classes
- Fluxo de controle — iterar pelo baralho, ramificando entre certo ou errado
Dicas
Comece pelos dados, não pelas classes. Um card são duas strings: frente e verso. Um baralho é uma lista de cards. Faça isso funcionar primeiro, depois envolva em classes se quiser a interface mais limpa.
JSON cuida do formato do arquivo. json.load() lê um arquivo para uma lista ou dicionário Python. json.dump() escreve de volta. O módulo json faz parte da biblioteca padrão.
Envolva o carregamento do arquivo em try/except. Na primeira vez que o script rodar, o arquivo de save não vai existir. Capturar FileNotFoundError te permite começar com um baralho vazio de forma elegante em vez de quebrar.
Indo além
Quando o loop principal de estudo estiver funcionando:
- Repetir respostas erradas. Acompanhe quais cards o jogador errou e percorra-os novamente ao 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 card foi respondido corretamente. Mostre com mais frequência os cards respondidos corretamente com menos frequência.

