Задача

5/8

Текстовые файлы_003

Теория

 Если текстовый файл разбит на строки и обработка данных предполагает построчную обработку без хранения всех строк, то предпочтительнее читать с помощью метода readline().

Метод файла file.readline() читает одну целую строку из файла. Конечный символ новой строки \n сохраняется в строке. Метод возвращает одну строку или байтовый объект в зависимости от режима, в котором открыт файл функцией open().

# чтение из файла всех данных в список строк.
sss=' '
while sss:
    sss=f.readline() 
далее можно обработать эту строку в соответствии с требованиями программы.
Пустая строка возвращается только тогда, когда достигнут конец файла, т. е. EOF встречается немедленно.
Необходимо учитывать, что конечный символ новой строки ('\n') сохраняется.

Если строка  имеет большой размер (файл может состоять из одной строки), то можно применять необязательный аргумент size:

 Если необязательный аргумент size присутствует и неотрицателен, то метод читает строку частями по size байтов, пока не достигнет символ новой строки \n. Если size отрицателен, то считывается строка полностью.

 

Задача

Иосиф генерировал картинки размера 8*8 рисуя в клетках знаки '*'. 
Получившиеся картинки он кодировал с помощью последовательности  из 0 и 1. 
Каждый рисунок кодировался последовательностью длины 64 , 
которая добавлялась в файл (без каких-либо разделителей и пробелов).
Пример

будет закодирована по строкам в последовательность 
(пробелы разбивают таблицу на строки - в файле пробелов НЕТ):
10011001 01111110 01000010 01000010 00100100 00011000 00100100 11100111

Помогите Иосифу :
  • оперделить количество картинок в файле:
  • считать последнюю картинку (подпоследоваетльность);
  • определить количество * в этой картинке (1 в подпоследовательности);
  • вывести эту картинку, если она записывалась по строкам (в формат вывода 0/1)
Выходные данные:
  1 строка - количество картинок и количество 1 в искомой картинке
  2-9 строки - строки картинки (в каждой строке последовательность из 8 символов  из 0 и 1)

Пояснение: для решения заданий можно использовать метод read() с параметром size

Выберите правильный ответ, либо введите его в поле ввода

Комментарий учителя