Desenvolva um programa computacional capaz de atualizar o arquivo anterior incluindo novos nomes e dizendo quantos nomes estão disponíveis.

Passo 1

O problema pede um programa que receba novos nomes do usuário, atualize um arquivo de texto já existente (cada nome em uma linha) e, ao final, informe quantos nomes o arquivo contém. O conteúdo principal é manipulação de arquivos em linguagem de programação (aqui usaremos Python) e contagem de linhas não vazias.

Passo 2

Definimos que o arquivo será um simples arquivo de texto, por exemplo "nomes.txt", em que cada linha armazena exatamente um nome. O programa vai:
  1. abrir o arquivo em modo de acréscimo para adicionar novos nomes;
  2. ler do teclado nomes até o usuário digitar linha em branco;
  3. em seguida reabrir o arquivo em modo de leitura, contar quantas linhas não vazias existem e exibir esse total.

Passo 3

Implementamos a função atualizar_nomes em Python:
  • usamos open(fnome, 'a', encoding='utf-8') para abrir o arquivo sem apagar o conteúdo antigo;
  • em laço while True pedimos input(), e se o usuário pressionar ENTER sem texto, saímos do laço;
  • cada nome informado é escrito seguido de \n;
  • depois fechamos esse handle e abrimos novamente em modo leitura com open(fnome, 'r', encoding='utf-8');
  • contamos linhas não vazias com sum(1 for linha in f if linha.strip());
  • finalmente imprimimos o total.

Passo 4

Segue o código completo em Python:
def atualizar_nomes(fnome):
    # Abre para acréscimo e adiciona novos nomes
    with open(fnome, 'a', encoding='utf-8') as f:
        while True:
            nome = input('Digite um nome para adicionar (ou ENTER para encerrar): ').strip()
            if not nome:
                break
            f.write(nome + '\n')

    # Abre para leitura e conta quantas linhas não vazias existem
    with open(fnome, 'r', encoding='utf-8') as f:
        total = sum(1 for linha in f if linha.strip())

    print(f'Total de nomes disponíveis: {total}')

if __name__ == '__main__':
    atualizar_nomes('nomes.txt')

Resposta

O programa acima atualiza o arquivo "nomes.txt" com novos nomes informados pelo usuário e, ao final, exibe quantos nomes o arquivo contém.

Exercícios relacionados