Criando um quiz para jogar novamente é um projeto prático de Python para quem conhece os fundamentos da linguagem e quer criar uma aplicação jogável no terminal. Você escreverá a lógica que seleciona perguntas de um banco JSON local, mantém as respostas corretas quando as opções mudam de posição e transforma os erros desta rodada em uma prática independente.
Dois laboratórios guiados avançam de perguntas conhecidas até salvar e reutilizar registros de respostas. Um desafio independente aplica os mesmos mecanismos a um novo quiz sobre natureza. Cada unidade começa com seus próprios arquivos preparados.
O que você aprenderá
- Selecionar uma quantidade limitada de perguntas sem repetições e embaralhar objetos de opção completos sem alterar o banco.
- Mapear os números de resposta exibidos para IDs estáveis de opções, mantendo cada resposta ligada à sua pergunta.
- Pedir outra entrada após um valor inválido e sair sem contar uma pergunta não respondida como erro.
- Salvar os pares de IDs de pergunta e opção enviados em um arquivo JSON UTF-8.
- Selecionar apenas perguntas respondidas incorretamente para uma nova prática, aceitar a ausência de erros e preservar o banco e o registro originais.
Para quem é este curso
Para estudantes de Python que querem combinar estruturas de dados e funções conhecidas em um programa interativo.
Pré-requisitos: Funções, listas, dicionários, condicionais e laços de Python, além do uso básico do terminal e da mudança de diretórios. Os laboratórios explicam JSON, operações com arquivos, seleção aleatória, validação de entradas e os parâmetros de função fornecidos antes de seu uso.
Ambiente de aprendizagem: Um WebIDE no navegador oferece editor, terminal, Python, bancos de perguntas e a estrutura da aplicação. Você implementa cinco funções em logic.py e preserva o mecanismo de apresentação, o programa de linha de comando e os bancos fornecidos. Perguntas, rótulos e saídas do programa ficam em inglês.
Perguntas frequentes
Preciso instalar software ou criar uma conta em um serviço de quiz?
Não é necessária instalação local nem conta externa. O projeto usa arquivos locais e a biblioteca padrão do Python no ambiente preparado.
Vou escrever toda a aplicação do zero?
Não. Você implementa seleção de perguntas, movimentação de opções, tratamento de entradas, gravação de registros e seleção de erros. O mecanismo fornecido apresenta perguntas e feedback; o programa de linha de comando lê arquivos e mostra a pontuação final.
O que muda no desafio?
Você reutiliza as funções aprendidas com outro banco sobre natureza. A correção deve seguir a identidade da pergunta e da opção, mesmo quando textos ou IDs de opções se repetem em perguntas diferentes. O programa também deve continuar funcionando com o banco original.
Posso sair antes ou terminar sem erros?
Sim. Digitar q antes de responder deixa essa pergunta fora do registro. Uma rodada totalmente correta produz uma prática vazia. Novos caminhos de registro preservam os arquivos anteriores.

