Sorteia Questão Inédita#
Antes de fazer este exercício é recomendado ter feito os exercícios:
Construa uma função que recebe, nesta ordem:
- um dicionário de questões organizado em níveis;
- um nível, representado por uma string, do qual deseja-se sortear uma questão;
- uma lista de questões já sorteadas. Cada elemento da lista é um dicionário (uma questão).
Sorteie e retorne uma questão inédita do nível solicitado, ou seja, uma questão que ainda não tenha sido sorteada.
Ao encontrar uma questão inédia, antes de retornar, você deve adicioná-la à lista de questões já sorteadas.
Dica 1
Na solução, copie e utilize a função do exercício Sorteia Questão.
Exemplo:#
- Entradas:
questoes = {
"facil": [
{
"titulo": "Qual o resultado da operação 57 + 32?",
"nivel": "facil",
"opcoes": {
"A": "-19",
"B": "85",
"C": "89",
"D": "99"
},
"correta": "C"
},
{
"titulo": "Qual destes parques não se localiza em São Paulo?!",
"nivel": "facil",
"opcoes": {
"A": "Ibirapuera",
"B": "Parque do Carmo",
"C": "Parque Villa Lobos",
"D": "Morro da Urca"
},
"correta": "D"
},
{
"titulo": "Qual destas não é uma linguagem de programação?",
"nivel": "facil",
"opcoes": {
"A": "Miratdes",
"B": "Python",
"C": "Lua",
"D": "C++"
},
"correta": "A"
},
{
"titulo": "Dentre os listados, qual destes esportes é menos praticado no Brasil?",
"nivel": "facil",
"opcoes": {
"A": "Natação",
"B": "Vôlei",
"C": "Ski Cross Country",
"D": "Natação"
},
"correta": "C"
}
],
"medio": [
{
"titulo": "Qual destes números é primo?",
"nivel": "medio",
"opcoes": {
"A": "259",
"B": "85",
"C": "49",
"D": "19"
},
"correta": "D"
},
{
"titulo": "Na Conjectura de _______, escolhendo-se um número natural inicial n, onde n > 0, os seguintes critérios serão obedecidos: Se n for par o seu sucessor será a metade e se n for ímpar o seu sucessor será o triplo mais um, gerando então um novo número. Qual o nome da conjectura?",
"nivel": "medio",
"opcoes": {
"A": "Collatz",
"B": "Goldbach",
"C": "Poincaré",
"D": "Hodge"
},
"correta": "A"
},
{
"titulo": "Qual a segunda pessoa mais seguida no Instagram?",
"nivel": "medio",
"opcoes": {
"A": "Cristiano Ronaldo",
"B": "Dwayne Johnson",
"C": "Kim Kardashian",
"D": "Kylie Jenner"
},
"correta": "D"
}
],
"dificil": [
{
"titulo": "A reprodução dos seres vivos é um processo biológico através do qual os organismos geram descendência. Qual desta não é uma forma de reprodução assexuada?",
"nivel": "dificil",
"opcoes": {
"A": "Autogamia",
"B": "Esporulação",
"C": "Partenogênese",
"D": "Divisão binária"
},
"correta": "A"
},
{
"titulo": "Qual o resultado da operação 5 + 2 * 3 ^ 2, onde ^ representa potenciação?",
"nivel": "dificil",
"opcoes": {
"A": "441",
"B": "86",
"C": "Nenhuma das outras respostas",
"D": "23"
},
"correta": "D"
}
]
}
nivel = "medio"
questoes_sorteadas = [
{
"titulo": "Qual destes parques não se localiza em São Paulo?!",
"nivel": "facil",
"opcoes": {
"A": "Ibirapuera",
"B": "Parque do Carmo",
"C": "Parque Villa Lobos",
"D": "Morro da Urca"
},
"correta": "D"
},
{
"titulo": "Qual o resultado da operação 57 + 32?",
"nivel": "facil",
"opcoes": {
"A": "-19",
"B": "85",
"C": "89",
"D": "99"
},
"correta": "C"
},
{
"titulo": "Qual destes números é primo?",
"nivel": "medio",
"opcoes": {
"A": "259",
"B": "85",
"C": "49",
"D": "19"
},
"correta": "D"
}
]
print(sorteia_questao_inedita(questoes, nivel, questoes_sorteadas))
- Saída:
Sua função deve se chamar sorteia_questao_inedita
.