Valida Questão#
Construa uma função que valida uma questão conforme as regras:
-
Verifique se as chaves
titulo
,nivel
,opcoes
ecorreta
estão na questão.- Caso não, adicione no retorno a chave e valor conforme o exemplo
{'titulo': 'nao_encontrado'}
.
- Caso não, adicione no retorno a chave e valor conforme o exemplo
-
Verifique se a questão (dicionário principal) tem exatamente quatro chaves.
- Caso não, adicione no retorno a chave e valor conforme o exemplo
{'outro': 'numero_chaves_invalido'}
.
- Caso não, adicione no retorno a chave e valor conforme o exemplo
-
Caso a chave
titulo
exista, verifique se otitulo
está vazio ou contém apenas espaços / caracteres em branco.- Caso sim, adicione no retorno a chave e valor conforme o exemplo
{'titulo': 'vazio'}
.
- Caso sim, adicione no retorno a chave e valor conforme o exemplo
-
Caso a chave
nivel
exista, verifique se onivel
contém um dos valoresfacil
,medio
oudificil
.- Caso não, adicione no retorno a chave e valor conforme o exemplo
{'nivel': 'valor_errado'}
.
- Caso não, adicione no retorno a chave e valor conforme o exemplo
-
Caso a chave
opcoes
exista, verifique se o valor da chaveopcoes
tem exatamente quatro chaves.- Caso não, adicione no retorno a chave e valor conforme o exemplo
{'opcoes': 'tamanho_invalido'}
.
- Caso não, adicione no retorno a chave e valor conforme o exemplo
- Caso a chave
opcoes
exista e tenha exatamente quatro chaves em seu dicionário, verifique nasopcoes
se as todasA
,B
,C
eD
existem (e nada além disso).- Caso não, adicione no retorno a chave e valor conforme o exemplo
{'opcoes': 'chave_invalida_ou_nao_encontrada'}
.
- Caso não, adicione no retorno a chave e valor conforme o exemplo
- Caso a chave
opcoes
exista, tenha exatamente quatro chaves em seu dicionário e se as todasA
,B
,C
eD
existem (e nada além disso), então verifique se alguma resposta de todas as opçõesA
,B
,C
eD
está vazia ou contém apenas espaços / caracteres em branco.- Caso sim, adicione no retorno a chave e valor conforme o exemplo:
correta
exista, verifique se a resposta correta
está definida como A
, B
, C
ou D
.
- Caso não, adicione no retorno a chave e valor conforme o exemplo {'correta': 'valor_errado'}
.
Exemplo 1:#
- Entrada:
-
questao
: -
Saída:
Exemplo 2:#
- Entrada:
-
questao
: -
Saída:
Sua função deve se chamar valida_questao
.