Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Linha 21 vazia

A linha 21 vazia na verdade ocorreu porque está usando o "\n", a cada linha escrita, ele coloca o resumo e pula uma linha, na próxima, ele coloca o resumo e cria mais uma linha, como não havia mais linhas resumo, a linha em branco que já havia sido criada, ficou em branco, não foi o programa que quis, isso foi escrito no código, para isso não ocorrer, teria que fazer uma condição pra ser for a última linha de dados, escrever só arquivo.write(resumo) sem o "\n".

1 resposta

Oi, Paulo! Tudo certo?

Eu assisti ao trecho da aula e você observou bem essa situação.

Isso realmente acontece por causa do uso do "\n" após cada escrita de resumo no arquivo. Quando o loop for escreve o último resumo, ele ainda adiciona uma quebra de linha, resultando em uma linha extra no final do arquivo.

Como você mesmo disse, podemos adicionar uma condição para não incluir o "\n" após o último resumo, por exemplo:

with open("lista-de-resumos.txt", "w", encoding="utf-8") as arquivo:
    for i, resumo in enumerate(lista_resumos):
        if i == len(lista_resumos) - 1:
            arquivo.write(resumo)  # Último resumo, sem quebra de linha
        else:
            arquivo.write(resumo + "\n")  # Adiciona quebra de linha

Nesse exemplo, estou usando o enumerate para obter o índice de cada elemento na lista lista_resumos. Assim, posso verificar se estou no último elemento da lista e, nesse caso, escrevo o resumo sem adicionar a quebra de linha "\n".

Obrigado por pontuar esse detalhe, com certeza pode ajudar outros alunos.

Abraço e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!