Como fazer um jogo de perguntas e respostas em Python.

Como fazer um jogo de perguntas e respostas em Python

Se você quiser aprender Python, é bom começar com alguns jogos simples baseados em texto. Este artigo mostrará como fazer um jogo de perguntas e respostas.

Passos

  1. Etapa 1 Instale o Python...
    Imagens do Google Etapa 1 Instale o Python ...
    Instale o Python se ainda não o fez. Existem duas versões principais do Python: Python 2 e Python 3. Elas não são intercambiáveis ​​e o suporte para Python 2 terminará em 2020, portanto, este artigo presumirá que você instale o Python 3.
  2. Passo 2 Abra um novo arquivo em um editor de texto ou em seu IDE Python.
    Imagens do Google Etapa 2 Abra um novo arquivo em um editor de texto ou em seu IDE Python.
    Abra um novo arquivo em um editor de texto ou em seu IDE Python. Dê a ele um nome descritivo que termine com .py.
  3. Passo 3 Importe a biblioteca aleatória.
    Imagens do Google Passo 3 Importe a biblioteca aleatória.
    Importe a biblioteca aleatória. Você precisará dele para organizar aleatoriamente as respostas possíveis.
  4. Como fazer um jogo de perguntas e respostas em Python
    Imagens do Google Como fazer um jogo de perguntas e respostas em Python
    Defina uma classe "QA". Um "QA" consistirá em uma pergunta e uma resposta correta, além de uma lista de outras respostas possíveis. A função __init__() será chamada sempre que você criar um novo objeto QA com a função QA(), com seus argumentos sendo passados ​​para o atributo correspondente. Tipo: classe QA: def __init__(self, question, correctAnswer, otherAnswers): self.question = question self.corrAnsw = correctAnswer self.otherAnsw = otherAnswers
  5. Etapa 5 Crie uma lista de controles de qualidade.
    Imagens do Google Etapa 5 Crie uma lista de QAs.
    Crie uma lista de controles de qualidade. Pense em algumas perguntas com uma resposta certa e outra errada. Crie objetos de controle de qualidade de cada um e coloque-os em uma lista. Como a lista será bastante longa, você pode dividi-la em várias linhas para melhor legibilidade. Tudo isso é feito com o seguinte código (seu texto pode ser diferente): qaList = [QA("Onde fica Minsk?", "na Bielo-Rússia", ["na Rússia", "tal cidade não existe"]), QA("Qual é a capital da Austrália?", "Canberra", ["Sydney", "Nova York", "A Austrália não existe"]), QA("Qual dos seguintes não está na Terra?", "Mar da Tranquilidade", ["Mar Mediterrâneo", "Mar Báltico", "Mar do Norte"]), QA("Qual dos seguintes não é um continente?", "Ártica", ["Antártica", "América" ]), QA("Qual dos seguintes não é um país africano?", "Malásia", ["Madagascar", "Djibuti", "África do Sul", "Zimbábue"])]
  6. Passo 6 Adicione uma variável que conte quantas respostas estavam corretas.
    Imagens do Google Passo 6 Adicione uma variável que conte quantas respostas estavam corretas.
    Adicione uma variável que conte quantas respostas estavam corretas. Defina-o como zero no início. Adicione a linha:corrCount = 0
  7. Etapa 7 Embaralhe a lista de controle de qualidade.
    Imagens do Google Etapa 7 Embaralhe a lista de controle de qualidade.
    Embaralhe a lista de controle de qualidade. Isso fará com que suas perguntas apareçam em ordem aleatória. Isso é feito com a seguinte função:random.shuffle(qaList)
  8. Etapa 8 Faça um loop.
    Imagens do Google Etapa 8 Faça um loop.
    Faça um loop. O programa deve examinar cada item da lista e fazer algo com ele. Crie um loop com esta expressão:for qaItem in qaList:
  9. Etapa 9 Crie cada pergunta.
    Imagens do Google Etapa 9 Crie cada pergunta.
    Produza cada pergunta. Após a expressão do loop, escreva a linha: print(qaItem.question)
  10. Etapa 10 Mostre todas as respostas possíveis.
    Imagens do Google Etapa 10 Mostre todas as respostas possíveis.
    Produza todas as respostas possíveis. Eles devem aparecer em ordem aleatória para que a resposta correta nem sempre esteja na mesma posição. Além disso, devem ser precedidos por um número para que o usuário não precise digitar a resposta inteira novamente. O código a seguir faz isso: print("As respostas possíveis são:") Possible = qaItem.otherAnsw + [qaItem.corrAnsw] # colchetes transformam a resposta correta em uma lista para concatenação com outra lista random.shuffle(possible) count = 0 # índices de lista comece em 0 em python enquanto contagem < len(possível): print(str(contagem+1) + ": " + possível[contagem]) contagem += 1
  11. Etapa 11 Obtenha a entrada do usuário.
    Imagens do Google Etapa 11 Receba a opinião do usuário.
    Receba a entrada do usuário. Primeiro, diga ao usuário que ele deve inserir o seu número. Em seguida, verifique se o que o usuário digitou é realmente um número que corresponde a uma resposta. Se não estiver, informe o usuário novamente. Use este código (fora do loop while que você criou para a saída): print("Por favor, insira o número da sua resposta:") userAnsw = input() while not userAnsw.isdigit(): print("Isso não era um número . Por favor, insira o número da sua resposta:") userAnsw = input() userAnsw = int(userAnsw) while not (userAnsw > 0 and userAnsw <= len(possível)): print("Esse número não corresponde a nenhuma resposta . Por favor, insira o número da sua resposta:") userAnsw = input()
  12. Passo 12 Verifique se a resposta do usuário estava correta.
    Imagens do Google Passo 12 Verifique se a resposta do usuário estava correta.
    Verifique se a resposta do usuário estava correta. Para isso, obtenha o texto da resposta para a qual o usuário digitou um número e compare-o com o texto da resposta correta. Se forem iguais, a resposta do usuário está correta e a variável corrCount deve ser aumentada em 1. Caso contrário, está errada e o usuário deve ser informado da resposta correta. Por fim, imprima uma linha vazia para adicionar espaço à próxima pergunta. Digite o seguinte código: if Possible[userAnsw-1] == qaItem.corrAnsw: print("Sua resposta estava correta.") corrCount += 1 else: print("Sua resposta estava errada.") print("A resposta correta foi : " + qaItem.corrAnsw) print("")
  13. Etapa 13. Imprima uma conclusão.
    Imagens do Google Etapa 13 Tire uma conclusão.
    Produza uma conclusão. No final, o usuário provavelmente quer saber quantas questões acertou. Então diga a eles adicionando a seguinte expressão fora do loop for: print("Você respondeu " + str(corrCount) + " de " + str(len(qaList)) + " perguntas corretamente.")
  14. Etapa 14 Verifique seu código.
    Imagens do Google Etapa 14 Verifique seu código.
    Verifique seu código. Preste atenção especial ao recuo. Seu código completo deve ficar assim agora: import random class QA: def __init__(self, question, correctAnswer, otherAnswers): self.question = question self.corrAnsw = correctAnswer self.otherAnsw = otherAnswers qaList = [QA("Onde está Minsk ?", "na Bielo-Rússia", ["na Rússia", "tal cidade não existe"]), QA("Qual é a capital da Austrália?", "Canberra", ["Sydney", "Nova York ", "A Austrália não existe"]), QA("Qual dos seguintes não está na Terra?", "Mar da Tranquilidade", ["Mar Mediterrâneo", "Mar Báltico", "Mar do Norte"]), QA("Qual dos seguintes não é um continente?", "Ártica", ["Antártica", "América"]), QA("Qual dos seguintes não é um país africano?", "Malásia", [" Madagascar", "Djibuti", "África do Sul", "Zimbábue"])] corrCount = 0 random.shuffle(qaList) for qaItem em qaList: print(qaItem.question) print("As respostas possíveis são:") Possible = qaItem .otherAnsw + [qaItem.corrAnsw] # colchetes transformam a resposta correta em lista para concatenar com outra lista random.shuffle(possível) count = 0 # índices de lista começam em 0 em python enquanto count < len(possível): print(str( count+1) + ": " + Possible[count]) count += 1 print("Por favor, insira o número da sua resposta:") userAnsw = input() while not userAnsw.isdigit(): print("Isso não foi um número. Por favor, insira o número da sua resposta:") userAnsw = input() userAnsw = int(userAnsw) while not (userAnsw > 0 and userAnsw <= len(possible)): print("Esse número não corresponde a nenhuma resposta. Por favor, insira o número da sua resposta:") userAnsw = input() se possível[userAnsw-1] == qaItem.corrAnsw: print("Sua resposta estava correta.") corrCount += 1 else: print("Sua resposta foi errado.") print("A resposta correta foi: " + qaItem.corrAnsw) print("") print("Você respondeu " + str(corrCount) + " de " + str(len(qaList)) + " perguntas corretamente. ")
  15. Etapa 15 Execute o código.
    Imagens do Google Etapa 15 Execute o código.
    Execute o código. Se você estiver usando um IDE, clique no símbolo “Executar” ou no item de menu. Se você estiver usando um editor de texto, salve seu programa, feche o editor e abra seu programa com Python.