Ler linha por linha
Ao processar arquivos de log, listas de usuários ou configurações, quase nunca você quer exibir as linhas exatas como estão no arquivo — elas vêm com quebras de linha (\n) no final. Ler linha por linha com for é a forma mais eficiente de percorrer arquivos grandes sem carregar tudo na memória, e combinar com enumerate e strip() dá a você controle total sobre a formatação da saída.
O PROBLEMA
Leia "dados.txt" linha por linha com for e exiba com número.
EXEMPLO
1: Linha 1\n2: Linha 2
SOBRE O CONCEITO
Quando você abre um arquivo com open() e itera com for linha in arquivo, cada linha é uma string que inclui o caractere de nova linha (\n). Sem o strip(), a saída ficaria, por exemplo, 1: Linha 1\n. O método strip() remove espaços e quebras de linha das extremidades — no caso de linhas de texto, ele elimina o \n do final, deixando apenas o conteúdo. Erro comum é esquecer de chamar strip(), resultando em linhas com quebras extras. Use enumerate(arquivo, start=1) para obter o número da linha automaticamente, e imprima com print(f"{i}: {linha.strip()}"). Lembre-se de usar with para garantir que o arquivo seja fechado corretamente.
RESOLUÇÃO