ОГЭ по информатике · задание 12

Файлы и каталоги: подсчёт по расширениям

Дан каталог DEMO-12 со вложенными папками. Нужно сосчитать файлы с заданными расширениями в указанных папках, включая вложенные.

Как считать файлы

  • В проводнике: открыть папку, в поиске ввести маску *.htm — поиск идёт и во вложенных папках.
  • Можно включить показ расширений файлов, иначе их не видно.
  • Архив к заданию: Oge12_DEMO-12.zip.

Как решать

  1. Выписать папки из условия.
  2. В каждой сосчитать файлы с нужными расширениями, включая подпапки.
  3. Сложить.

Типичные ошибки

  • Поиск по маске *.htm может показать и файлы .html — проверяйте расширения глазами или программой.
  • Забыть про вложенные папки.
  • Посчитать файлы из соседних каталогов.

Разобранные варианты

Скачайте архив один раз — он общий для всех вариантов.

Вариант 1

три подкаталога

Сколько всего файлов с расширениями .docx и .jpeg содержится в подкаталогах Глинка и Рахманинов каталога DEMO-12/Музыка, а также в подкаталоге Пушкин каталога DEMO-12/Поэзия? В ответе укажите только число. Каталог DEMO-12 — в архиве к заданию.

Разбор

Шаг 1. Где искать. Нужны только указанные папки, и в них — все вложенные подпапки.

Шаг 2. Какие расширения. Только .docx и .jpeg. Внимание: .htm и .html, .tif и .tiff, .jpg и .jpeg, .doc и .docx — разные расширения.

Шаг 3. Считаем поиском в папке по маске (например, *.docx) или программой:

  • DEMO-12/Музыка/Глинка: 2
  • DEMO-12/Музыка/Рахманинов: 1
  • DEMO-12/Поэзия/Пушкин: 1

Всего: 2 + 1 + 1 = 4.

Ответ: 4

Подсчёт на Python. Распакуйте архив и запустите программу рядом с папкой DEMO-12.

import os

places = ['DEMO-12\\Музыка\\Глинка', 'DEMO-12\\Музыка\\Рахманинов', 'DEMO-12\\Поэзия\\Пушкин']
exts = {'docx', 'jpeg'}

count = 0
for place in places:
    for folder, subfolders, names in os.walk(place):
        for name in names:
            if name.rsplit('.', 1)[-1] in exts:
                count += 1
print(count)

Вариант 2

три подкаталога

Сколько всего файлов с расширениями .doc и .tiff содержится в подкаталогах Верещагин и Репин каталога DEMO-12/Живопись, а также в подкаталоге Чайковский каталога DEMO-12/Музыка? В ответе укажите только число. Каталог DEMO-12 — в архиве к заданию.

Разбор

Шаг 1. Где искать. Нужны только указанные папки, и в них — все вложенные подпапки.

Шаг 2. Какие расширения. Только .doc и .tiff. Внимание: .htm и .html, .tif и .tiff, .jpg и .jpeg, .doc и .docx — разные расширения.

Шаг 3. Считаем поиском в папке по маске (например, *.doc) или программой:

  • DEMO-12/Живопись/Верещагин: 1
  • DEMO-12/Живопись/Репин: 2
  • DEMO-12/Музыка/Чайковский: 2

Всего: 1 + 2 + 2 = 5.

Ответ: 5

Подсчёт на Python. Распакуйте архив и запустите программу рядом с папкой DEMO-12.

import os

places = ['DEMO-12\\Живопись\\Верещагин', 'DEMO-12\\Живопись\\Репин', 'DEMO-12\\Музыка\\Чайковский']
exts = {'doc', 'tiff'}

count = 0
for place in places:
    for folder, subfolders, names in os.walk(place):
        for name in names:
            if name.rsplit('.', 1)[-1] in exts:
                count += 1
print(count)

Вариант 3

три подкаталога

Сколько всего файлов с расширениями .pdf и .tiff содержится в подкаталогах Чайковский и Рахманинов каталога DEMO-12/Музыка, а также в подкаталоге Толстой каталога DEMO-12/Проза? В ответе укажите только число. Каталог DEMO-12 — в архиве к заданию.

Разбор

Шаг 1. Где искать. Нужны только указанные папки, и в них — все вложенные подпапки.

Шаг 2. Какие расширения. Только .pdf и .tiff. Внимание: .htm и .html, .tif и .tiff, .jpg и .jpeg, .doc и .docx — разные расширения.

Шаг 3. Считаем поиском в папке по маске (например, *.pdf) или программой:

  • DEMO-12/Музыка/Чайковский: 1
  • DEMO-12/Музыка/Рахманинов: 2
  • DEMO-12/Проза/Толстой: 1

Всего: 1 + 2 + 1 = 4.

Ответ: 4

Подсчёт на Python. Распакуйте архив и запустите программу рядом с папкой DEMO-12.

import os

places = ['DEMO-12\\Музыка\\Чайковский', 'DEMO-12\\Музыка\\Рахманинов', 'DEMO-12\\Проза\\Толстой']
exts = {'pdf', 'tiff'}

count = 0
for place in places:
    for folder, subfolders, names in os.walk(place):
        for name in names:
            if name.rsplit('.', 1)[-1] in exts:
                count += 1
print(count)

Вариант 4

три подкаталога

Сколько всего файлов с расширением .htm содержится в подкаталогах Чехов и Гоголь каталога DEMO-12/Проза, а также в подкаталоге Шишкин каталога DEMO-12/Живопись? В ответе укажите только число. Каталог DEMO-12 — в архиве к заданию.

Разбор

Шаг 1. Где искать. Нужны только указанные папки, и в них — все вложенные подпапки.

Шаг 2. Какие расширения. Только .htm. Внимание: .htm и .html, .tif и .tiff, .jpg и .jpeg, .doc и .docx — разные расширения.

Шаг 3. Считаем поиском в папке по маске (например, *.htm) или программой:

  • DEMO-12/Проза/Чехов: 2
  • DEMO-12/Проза/Гоголь: 3
  • DEMO-12/Живопись/Шишкин: 2

Всего: 2 + 3 + 2 = 7.

Ответ: 7

Подсчёт на Python. Распакуйте архив и запустите программу рядом с папкой DEMO-12.

import os

places = ['DEMO-12\\Проза\\Чехов', 'DEMO-12\\Проза\\Гоголь', 'DEMO-12\\Живопись\\Шишкин']
exts = {'htm'}

count = 0
for place in places:
    for folder, subfolders, names in os.walk(place):
        for name in names:
            if name.rsplit('.', 1)[-1] in exts:
                count += 1
print(count)

Вариант 5

три подкаталога

Сколько всего файлов с расширениями .htm и .html содержится в подкаталогах Гоголь и Чехов каталога DEMO-12/Проза, а также в подкаталоге Пушкин каталога DEMO-12/Поэзия? В ответе укажите только число. Каталог DEMO-12 — в архиве к заданию.

Разбор

Шаг 1. Где искать. Нужны только указанные папки, и в них — все вложенные подпапки.

Шаг 2. Какие расширения. Только .htm и .html. Внимание: .htm и .html, .tif и .tiff, .jpg и .jpeg, .doc и .docx — разные расширения.

Шаг 3. Считаем поиском в папке по маске (например, *.htm) или программой:

  • DEMO-12/Проза/Гоголь: 6
  • DEMO-12/Проза/Чехов: 4
  • DEMO-12/Поэзия/Пушкин: 1

Всего: 6 + 4 + 1 = 11.

Ответ: 11

Подсчёт на Python. Распакуйте архив и запустите программу рядом с папкой DEMO-12.

import os

places = ['DEMO-12\\Проза\\Гоголь', 'DEMO-12\\Проза\\Чехов', 'DEMO-12\\Поэзия\\Пушкин']
exts = {'html', 'htm'}

count = 0
for place in places:
    for folder, subfolders, names in os.walk(place):
        for name in names:
            if name.rsplit('.', 1)[-1] in exts:
                count += 1
print(count)

Вариант 6

каталог целиком

Сколько всего файлов с расширениями .htm и .png содержится в каталоге DEMO-12/Проза и всех его подкаталогах? В ответе укажите только число. Каталог DEMO-12 — в архиве к заданию.

Разбор

Шаг 1. Где искать. Нужны только указанные папки, и в них — все вложенные подпапки.

Шаг 2. Какие расширения. Только .htm и .png. Внимание: .htm и .html, .tif и .tiff, .jpg и .jpeg, .doc и .docx — разные расширения.

Шаг 3. Считаем поиском в папке по маске (например, *.htm) или программой:

  • DEMO-12/Проза: 8

Всего: 8 = 8.

Ответ: 8

Подсчёт на Python. Распакуйте архив и запустите программу рядом с папкой DEMO-12.

import os

places = ['DEMO-12\\Проза']
exts = {'png', 'htm'}

count = 0
for place in places:
    for folder, subfolders, names in os.walk(place):
        for name in names:
            if name.rsplit('.', 1)[-1] in exts:
                count += 1
print(count)

Вариант 7

один подкаталог

Сколько всего файлов с расширениями .jpg и .pdf содержится в подкаталоге Чайковский каталога DEMO-12/Музыка (включая вложенные папки)? В ответе укажите только число. Каталог DEMO-12 — в архиве к заданию.

Разбор

Шаг 1. Где искать. Нужны только указанные папки, и в них — все вложенные подпапки.

Шаг 2. Какие расширения. Только .jpg и .pdf. Внимание: .htm и .html, .tif и .tiff, .jpg и .jpeg, .doc и .docx — разные расширения.

Шаг 3. Считаем поиском в папке по маске (например, *.jpg) или программой:

  • DEMO-12/Музыка/Чайковский: 3

Всего: 3 = 3.

Ответ: 3

Подсчёт на Python. Распакуйте архив и запустите программу рядом с папкой DEMO-12.

import os

places = ['DEMO-12\\Музыка\\Чайковский']
exts = {'pdf', 'jpg'}

count = 0
for place in places:
    for folder, subfolders, names in os.walk(place):
        for name in names:
            if name.rsplit('.', 1)[-1] in exts:
                count += 1
print(count)

Вариант 8

каталог целиком

Сколько всего файлов с расширениями .jpg и .wav содержится в каталоге DEMO-12/Проза и всех его подкаталогах? В ответе укажите только число. Каталог DEMO-12 — в архиве к заданию.

Разбор

Шаг 1. Где искать. Нужны только указанные папки, и в них — все вложенные подпапки.

Шаг 2. Какие расширения. Только .jpg и .wav. Внимание: .htm и .html, .tif и .tiff, .jpg и .jpeg, .doc и .docx — разные расширения.

Шаг 3. Считаем поиском в папке по маске (например, *.jpg) или программой:

  • DEMO-12/Проза: 6

Всего: 6 = 6.

Ответ: 6

Подсчёт на Python. Распакуйте архив и запустите программу рядом с папкой DEMO-12.

import os

places = ['DEMO-12\\Проза']
exts = {'jpg', 'wav'}

count = 0
for place in places:
    for folder, subfolders, names in os.walk(place):
        for name in names:
            if name.rsplit('.', 1)[-1] in exts:
                count += 1
print(count)

Вариант 9

один подкаталог

Сколько всего файлов с расширением .htm содержится в подкаталоге Гоголь каталога DEMO-12/Проза (включая вложенные папки)? В ответе укажите только число. Каталог DEMO-12 — в архиве к заданию.

Разбор

Шаг 1. Где искать. Нужны только указанные папки, и в них — все вложенные подпапки.

Шаг 2. Какие расширения. Только .htm. Внимание: .htm и .html, .tif и .tiff, .jpg и .jpeg, .doc и .docx — разные расширения.

Шаг 3. Считаем поиском в папке по маске (например, *.htm) или программой:

  • DEMO-12/Проза/Гоголь: 3

Всего: 3 = 3.

Ответ: 3

Подсчёт на Python. Распакуйте архив и запустите программу рядом с папкой DEMO-12.

import os

places = ['DEMO-12\\Проза\\Гоголь']
exts = {'htm'}

count = 0
for place in places:
    for folder, subfolders, names in os.walk(place):
        for name in names:
            if name.rsplit('.', 1)[-1] in exts:
                count += 1
print(count)

Вариант 10

три подкаталога

Сколько всего файлов с расширениями .doc и .tif содержится в подкаталогах Есенин и Пушкин каталога DEMO-12/Поэзия, а также в подкаталоге Ломоносов каталога DEMO-12/Наука? В ответе укажите только число. Каталог DEMO-12 — в архиве к заданию.

Разбор

Шаг 1. Где искать. Нужны только указанные папки, и в них — все вложенные подпапки.

Шаг 2. Какие расширения. Только .doc и .tif. Внимание: .htm и .html, .tif и .tiff, .jpg и .jpeg, .doc и .docx — разные расширения.

Шаг 3. Считаем поиском в папке по маске (например, *.doc) или программой:

  • DEMO-12/Поэзия/Есенин: 1
  • DEMO-12/Поэзия/Пушкин: 2
  • DEMO-12/Наука/Ломоносов: 3

Всего: 1 + 2 + 3 = 6.

Ответ: 6

Подсчёт на Python. Распакуйте архив и запустите программу рядом с папкой DEMO-12.

import os

places = ['DEMO-12\\Поэзия\\Есенин', 'DEMO-12\\Поэзия\\Пушкин', 'DEMO-12\\Наука\\Ломоносов']
exts = {'doc', 'tif'}

count = 0
for place in places:
    for folder, subfolders, names in os.walk(place):
        for name in names:
            if name.rsplit('.', 1)[-1] in exts:
                count += 1
print(count)

Для самостоятельного решения

Варианты 11–15 без разборов. Ответ можно проверить кнопкой.

Вариант 11

один подкаталог

Сколько всего файлов с расширениями .htm и .tif содержится в подкаталоге Гоголь каталога DEMO-12/Проза (включая вложенные папки)? В ответе укажите только число. Каталог DEMO-12 — в архиве к заданию.

Вариант 12

три подкаталога

Сколько всего файлов с расширениями .docx и .jpeg содержится в подкаталогах Рахманинов и Чайковский каталога DEMO-12/Музыка, а также в подкаталоге Чехов каталога DEMO-12/Проза? В ответе укажите только число. Каталог DEMO-12 — в архиве к заданию.

Вариант 13

каталог целиком

Сколько всего файлов с расширениями .html и .wav содержится в каталоге DEMO-12/Музыка и всех его подкаталогах? В ответе укажите только число. Каталог DEMO-12 — в архиве к заданию.

Вариант 14

три подкаталога

Сколько всего файлов с расширениями .tiff и .txt содержится в подкаталогах Малевич и Шишкин каталога DEMO-12/Живопись, а также в подкаталоге Глинка каталога DEMO-12/Музыка? В ответе укажите только число. Каталог DEMO-12 — в архиве к заданию.

Вариант 15

один подкаталог

Сколько всего файлов с расширениями .docx и .html содержится в подкаталоге Шишкин каталога DEMO-12/Живопись (включая вложенные папки)? В ответе укажите только число. Каталог DEMO-12 — в архиве к заданию.