Fala, pessoal!
Só queria compartilhar o código abaixo que fiz a partir do código do avaliador apresentado pelo professor.
Acrescentei mais um if para verificar se a palavra correta não faz parte do vocabulário e, além de contabilizar +1 na variável "desconhecidas", também adiciona a palavra nova ao vocabulário para que ele consiga expandi-lo a cada avaliação.
Também coloquei mais um else no final para que caso a palavra corrigida pelo corretor turbinado não seja a correta ele tente com o corretor antigo.
Dessa forma consegui uma taxa de acerto de 84.95% :)
O que acham?
def avaliador_turbinado(testes, vocabulario):
num_palavras = len(testes)
acertou = 0
desconhecidas = 0
for correta, errada in testes:
palavra_corrigida = novo_corretor(errada)
if correta not in vocabulario:
desconhecidas +=1
vocabulario.append(correta)
if palavra_corrigida == correta:
acertou += 1
else:
palavra_corrigida = corretor(errada)
if palavra_corrigida == correta:
acertou += 1
taxa_palavras_desconhecidas = round((desconhecidas/num_palavras)*100,2)
taxa_acerto = round((acertou/num_palavras)*100,2)
print(f'A taxa de acerto é: {taxa_acerto}%')
print(f'A taxa de palavras desconhecidas é: {taxa_palavras_desconhecidas}%')