Top.Mail.Ru
Ответы

Помогите пожалуйста с задачей на python

Напишите программу, которая будет считывать содержимое файла, добавлять к считанным строкам порядковый номер и выводить результат на экран. Нумерацию начинайте с единицы.

Имя исходного файла подается на вход. Каждая строка при выводе на экран должна начинаться с ее номера и пробела, после чего должен идти текст строки из исходного файла.

В случае отсутствия файла нужно вывести соответствующее сообщение "Файл не найден".

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Новичок

Нумерация строк решается в 5 строк, сорян за каламбур:

12345
 try:
    with open(input(), 'r') as f:
        print(''.join(' '.join((str(i), s)) for i, s in enumerate(f, 1)))
except FileNotFoundError as e:
    print('Файл не найден') 
Аватар пользователя
Знаток

Вот решение на Python:

123456789101112
 import sys 
 
filename = sys.argv[1] 
 
try: 
    with open(filename, 'r') as f: 
        i = 1 
        for line in f: 
            print(f'{i} {line}', end='') 
            i += 1 
except FileNotFoundError: 
    print('Файл не найден')  

Эта программа:

  1. Получает имя файла из аргументов командной строки (sys.argv[1])

  2. Пытается открыть файл. Если файл не найден, выводит сообщение об ошибке.

  3. Если файл открыт, считывает построчно его содержимое.

  4. Добавляет к каждой строке ее порядковый номер и пробел.

  5. Выводит строки с номерами на экран.

  6. Увеличивает номер текущей строки.

  7. Повторяет пункты 4-6 до конца файла.