1
resposta

Correção de código

Duas correções devem ser realizados no código abaixo:

def avaliador(testes, vocabulario):
    numero_palavras = len(testes)
    acertou = 0
    desconhecida = 0
    for correta, errada in testes:
        palavra_corrigida = corretor(errada)
        if palavra-corrigida == correta:
            acertou += 1
        else:
            desconhecida += (correta not in vocabulario)
        taxa_acerto = round(acertou*100/numero_palavras, 2)
        taxa_desconhecida = round(desconhecida*100/numero_palavras, 2)
        print(f"{taxa_acerto}% de {numero_palavras} palavras, desconhecidas é {taxa_desconhecida}%")
  1. Corrigir o nome da variável palavra-corrigida para palavra_corrigida;
  2. Retirar a instrução print do laço for, diminuindo a indentação da linha.

Código final ajustado:

def avaliador(testes, vocabulario):
    numero_palavras = len(testes)
    acertou = 0
    desconhecida = 0
    for correta, errada in testes:
        palavra_corrigida = corretor(errada)
        if palavra_corrigida == correta:
            acertou += 1
        else:
            desconhecida += (correta not in vocabulario)
        taxa_acerto = round(acertou*100/numero_palavras, 2)
        taxa_desconhecida = round(desconhecida*100/numero_palavras, 2)
    print(f"{taxa_acerto}% de {numero_palavras} palavras, desconhecidas é {taxa_desconhecida}%")
1 resposta

Bom dia Marcos, tudo bem? Espero que sim!

Obrigado pela observação, já realizamos a correção aqui na transcrição. Inclusive a taxa_acerto e taxa_desconhecida também devem estar fora do for. O código ficará assim, da maneira que está no vídeo:

def avaliador(testes, vocabulario):
    numero_palavras = len(testes)
    acertou = 0
    desconhecida = 0
    for correta, errada in testes:
        palavra_corrigida = corretor(errada)
        if palavra_corrigida == correta:
            acertou += 1
        else:
            desconhecida += (correta not in vocabulario)
    taxa_acerto = round(acertou*100/numero_palavras, 2)
    taxa_desconhecida = round(desconhecida*100/numero_palavras, 2)
    print(f"{taxa_acerto}% de {numero_palavras} palavras, desconhecidas é {taxa_desconhecida}%")


vocabulario = set(lista_normalizada)
avaliador(lista-teste, vocabulario)

Bons estudos!