Вопрос задан 02.10.2026 в 12:35. Предмет Информатика. Спрашивает Сбродова Анастасия.

Python. Напишите программу, которая будет удалять все комментарии из исходного файла с кодом на языке Python.
Пройдите по всем строкам в файле для поиска символа '#'. Обнаружив его, программа должна удалить все содержимое, начиная с этого символа и до конца строки. Гарантируется, что знак решётки не встречается в середине строки (то есть после какого-то текста, отступы до символа присутствовать могут). Сами строки удалять не нужно, количество строк в выводе должно совпадать с количеством строк в файле.
Выведите новое содержимое на экран. Имя файла подаётся на вход и заранее не известно. Если указанного файла не существует, необходимо вывести соответствующее сообщение об ошибке: FileNotFoundError: "Файл не найден". Если происходит другая ошибка, вывести сообщение об ошибке: Exception: "Неизвестная ошибка".

Перейти к ответам

Ответы на вопрос

Отвечает Салтыков Семён.

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

filename = input()

try:
    with open(filename, 'r', encoding='utf-8') as file:
        for line in file:
            index = line.find('#')

            if index != -1:
                line = line[:index] + '\n'

            print(line, end='')

except FileNotFoundError:
    print('FileNotFoundError: "Файл не найден"')
except Exception:
    print('Exception: "Неизвестная ошибка"')

Метод find возвращает номер позиции символа. Если символ не найден, он возвращает \(-1\).

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос