Python Desafio 2 – Quiz das Capitais

Se você ainda não fez o Desafio 1 – Clique Aqui

Neste desafio, você vai construir um pequeno jogo de perguntas e respostas que testa os conhecimentos do usuário sobre geografia brasileira, usando dicionários, condicionais, laços e entradas de dados no Python.

Objetivo:

Crie um programa em Python que:

  • Faça uma pergunta sobre a capital de um estado brasileiro.
  • Verifique se a resposta está correta.
  • Mostre uma mensagem indicando se o usuário acertou ou errou.
  • Ao final de cada pergunta, pergunte se o usuário deseja continuar.
  • Calcule e exiba:
    • O total de perguntas respondidas,
    • O número de acertos,
    • E a porcentagem de acertos.
dicionário_de_estados = {
    "Acre": "Rio Branco",
    "Alagoas": "Maceió",
    "Amapá": "Macapá",
    "Amazonas": "Manaus",
    "Bahia": "Salvador",
    "Ceará": "Fortaleza",
    "Distrito Federal": "Brasília",
    "Espírito Santo": "Vitória",
    "Goiás": "Goiânia",
    "Maranhão": "São Luís",
    "Mato Grosso": "Cuiabá",
    "Mato Grosso do Sul": "Campo Grande",
    "Minas Gerais": "Belo Horizonte",
    "Pará": "Belém",
    "Paraíba": "João Pessoa",
    "Paraná": "Curitiba",
    "Pernambuco": "Recife",
    "Piauí": "Teresina",
    "Rio de Janeiro": "Rio de Janeiro",
    "Rio Grande do Norte": "Natal",
    "Rio Grande do Sul": "Porto Alegre",
    "Rondônia": "Porto Velho",
    "Roraima": "Boa Vista",
    "Santa Catarina": "Florianópolis",
    "São Paulo": "São Paulo",
    "Sergipe": "Aracaju",
    "Tocantins": "Palmas"
}

Extra (opcional):

  • Torne a ordem das perguntas aleatória a cada execução usando o módulo random.

Exemplo de execução:

Qual a capital de Minas Gerais?
Digite sua resposta: belo horizonte
Resposta correta!

Você quer continuar para a próxima pergunta? (sim/não): sim

Qual a capital de São Paulo?
Digite sua resposta: rio de janeiro
Resposta incorreta. A resposta certa é: São Paulo

Você parou o jogo.

Você acertou 1 de 2 perguntas.
Porcentagem de acertos: 50.00%

Resposta:

estados = {
    "Acre": "Rio Branco",
    "Alagoas": "Maceió",
    "Amapá": "Macapá",
    "Amazonas": "Manaus",
    "Bahia": "Salvador",
    "Ceará": "Fortaleza",
    "Distrito Federal": "Brasília",
    "Espírito Santo": "Vitória",
    "Goiás": "Goiânia",
    "Maranhão": "São Luís",
    "Mato Grosso": "Cuiabá",
    "Mato Grosso do Sul": "Campo Grande",
    "Minas Gerais": "Belo Horizonte",
    "Pará": "Belém",
    "Paraíba": "João Pessoa",
    "Paraná": "Curitiba",
    "Pernambuco": "Recife",
    "Piauí": "Teresina",
    "Rio de Janeiro": "Rio de Janeiro",
    "Rio Grande do Norte": "Natal",
    "Rio Grande do Sul": "Porto Alegre",
    "Rondônia": "Porto Velho",
    "Roraima": "Boa Vista",
    "Santa Catarina": "Florianópolis",
    "São Paulo": "São Paulo",
    "Sergipe": "Aracaju",
    "Tocantins": "Palmas"
}

total_de_questoes = len(estados)
total_de_acertos = 0
contagem_de_questoes = 0

for estado, capital in estados.items():
    print(f"\nQual a capital de {estado}?")
    resposta = input("Digite sua resposta: ")

    if resposta.strip().lower() == capital.lower():
        print("Resposta correta!")
        total_de_acertos += 1
    else:
        print(f"Resposta incorreta. A resposta certa é: {capital}")

    contagem_de_questoes += 1

    if contagem_de_questoes < total_de_questoes:
        continuar = input("Você quer continuar para a próxima pergunta? (sim/não): ")
        if continuar.strip().lower() != "sim":
            print("Você parou o jogo.")
            break

# Recalcula a porcentagem corretamente ao final
porcentagem_de_acertos = (total_de_acertos / contagem_de_questoes) * 100

print(f"\nVocê acertou {total_de_acertos} de {contagem_de_questoes} perguntas.")
print(f"Porcentagem de acertos: {porcentagem_de_acertos:.2f}%")

Deixe um comentário