Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Avaliador turbinado(?)

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}%')
1 resposta
solução!

Oii Thiago, tudo tranquilo?

Ficou muito legal sua abordagem. Parabéns por ir além do ensinado e combinar os dois corretores!

Apenas uma dica, é importante que antes de acrescentar a palavra correta desconhecida no vocabulário, que você se certifique que ela realmente está correta, uma vez que talvez possa existir alguma falha na nossa base de teste onde essa palavra não esteja realmente certa.

Qualquer dúvida estou à disposição :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!