Опись папки · Шаг 4 из 4
Отчёт, который читают глазами
Списки кортежей показывать человеку нельзя. Нужен текст, в котором числа стоят столбиком и видно с первого взгляда, что занимает место.
Что сделать
Сложите отчёт о папке, в котором числа стоят ровными столбиками.
Что приходит
vsego— сколько всего файловzanyato— занятый объём, уже строкой:"4,9 ГБ"vidy— список видов из шага 2, размеры уже строкамиkrupnye— список крупных файлов из шага 3, размеры уже строками
Что вернуть
Текст из трёх частей через пустую строку: «Файлов: … · занято: …», блок «По видам» и блок «Самые крупные», пустой — « пусто»; точный вид — в «Подробных правилах».
Допишите функцию otchet в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
В проекте
Утилита печатает то, что вы вернули, — это и есть весь её вывод. Решите шаг — и числа встанут ровными столбиками.
vidy = [("jpg", 98, "4,1 ГБ"), ("raw", 4, "700,0 МБ"), ("без расширения", 1, "120 Б")]
krupnye = [("2026/03/svadba/IMG_0421.JPG", "1,2 ГБ"), ("arhiv/2024.zip", "900,0 МБ")]
otchet(128, '4,9 ГБ', vidy, krupnye)
'Файлов: 128 · занято: 4,9 ГБ\n\nПо видам\n jpg 98 4,1 ГБ\n raw 4 700,0 МБ\n без расширения 1 120 Б\n\nСамые крупные\n 2026/03/svadba/IMG_0421.JPG 1,2 ГБ\n arhiv/2024.zip 900,0 МБ'
Функция принимает число файлов, занятый объём строкой, список видов из второго шага и список крупных файлов из третьего. Размеры в обоих списках уже превращены в строки.
Возвращает текст из трёх частей, разделённых пустой строкой:
- «Файлов: 128 · занято: 4,9 ГБ»;
- заголовок «По видам», ниже по строке на вид: два пробела отступа, название вида, выровненное влево по самому длинному, два пробела, число файлов, выровненное вправо, два пробела, размер, выровненный вправо;
- заголовок «Самые крупные», ниже по строке на файл в том же виде - отступ, путь влево, два пробела, размер вправо.
Пустой список в любой из двух частей заменяется строкой « пусто». Хвостовых пробелов в строках быть не должно, переводом строки текст не заканчивается.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.