Задача 104
Добавление ряда и колонки в матрицу
Дан произвольный двухмерный список:
[
[11, 12, 13],
[21, 22, 23],
[31, 32, 33],
]
Напишите код, который добавит в него еще
один ряд и еще один столбец,
заполненные случайными значениями:
[
[11, 12, 13, 14],
[21, 22, 23, 24],
[31, 32, 33, 34],
[41, 42, 43, 44],
]
Добавление ряда и колонки в матрицу
Дан произвольный двухмерный список:
[
[11, 12, 13],
[21, 22, 23],
[31, 32, 33],
]
Напишите код, который добавит в него еще
один ряд и еще один столбец,
заполненные случайными значениями:
[
[11, 12, 13, 14],
[21, 22, 23, 24],
[31, 32, 33, 34],
[41, 42, 43, 44],
]
Задача 105
Количество рабочих дней между датами
Даны две даты в формате "год-месяц-день". Посчитайте количество рабочих дней между этими датами, исключая выходные.
Количество рабочих дней между датами
Даны две даты в формате "год-месяц-день". Посчитайте количество рабочих дней между этими датами, исключая выходные.
Задача 106
Список вторников
Получите список дат всех ближайших 10-ти вторников в формате "год-месяц-день".
Список вторников
Получите список дат всех ближайших 10-ти вторников в формате "год-месяц-день".
Задача 107
Обнуление столбца
Дан произвольный двухмерный список: [ [11, 12, 13, 14, 15], [21, 22, 23, 24, 25], [31, 32, 33, 34, 35], [41, 42, 43, 44, 45], [51, 52, 53, 54, 55], ]
Напишите код, который будет обнулять заданный столбец:
[
[11, 12, 0, 14, 15],
[21, 22, 0, 24, 25],
[31, 32, 0, 34, 35],
[41, 42, 0, 44, 45],
[51, 52, 0, 54, 55],
]
Обнуление столбца
Дан произвольный двухмерный список: [ [11, 12, 13, 14, 15], [21, 22, 23, 24, 25], [31, 32, 33, 34, 35], [41, 42, 43, 44, 45], [51, 52, 53, 54, 55], ]
Напишите код, который будет обнулять заданный столбец:
[
[11, 12, 0, 14, 15],
[21, 22, 0, 24, 25],
[31, 32, 0, 34, 35],
[41, 42, 0, 44, 45],
[51, 52, 0, 54, 55],
]
Задача 108
Следующий день рождения
Дана дата рождения в формате 'день.месяц'. Определите, в какой день недели будет его следующий день рождения.
Следующий день рождения
Дана дата рождения в формате 'день.месяц'. Определите, в какой день недели будет его следующий день рождения.
Задача 109
Сжатие смежных чисел
Дан список чисел. Замените все последовательности смежных одинаковых чисел на их количество и значение.
Пример:
[1, 1, 1, 2, 3, 3, 4, 4, 4, 4] → [[3, 1], [1, 2], [2, 3], [4, 4]]
Сжатие смежных чисел
Дан список чисел. Замените все последовательности смежных одинаковых чисел на их количество и значение.
Пример:
[1, 1, 1, 2, 3, 3, 4, 4, 4, 4] → [[3, 1], [1, 2], [2, 3], [4, 4]]
Задача 110
Определение четверти года
Дана дата в формате 'год-месяц-день'. Определите, к какой четверти года относится эта, и сколько дней осталось до конца этой четверти.
Четверти года:
- I: январь-март (1-3 месяц)
- II: апрель-июнь (4-6 месяц)
- III: июль-сентябрь (7-9 месяц)
- IV: октябрь-декабрь (10-12 месяц)
Определение четверти года
Дана дата в формате 'год-месяц-день'. Определите, к какой четверти года относится эта, и сколько дней осталось до конца этой четверти.
Четверти года:
- I: январь-март (1-3 месяц)
- II: апрель-июнь (4-6 месяц)
- III: июль-сентябрь (7-9 месяц)
- IV: октябрь-декабрь (10-12 месяц)
Задача 111
Определение типа последовательности
Дан список чисел. Определите, является ли последовательность: 1) Арифметической прогрессией (постоянная разность между элементами) 2) Геометрической прогрессией (постоянное отношение между элементами) 3) Ни тем, ни другим
Верните строку: "арифметическая", "геометрическая" или "нет прогрессии".
Примеры:
[1, 3, 5, 7, 9] → "арифметическая" (разность 2)
[2, 4, 8, 16, 32] → "геометрическая" (отношение 2)
[1, 2, 3, 5, 8] → "нет прогрессии"
[5, 5, 5, 5, 5] → "арифметическая" (разность 0) и "геометрическая" (отношение 1)
Примечание: если список подходит под оба типа, верните "арифметическая"
(приоритет у арифметической прогрессии).
Определение типа последовательности
Дан список чисел. Определите, является ли последовательность: 1) Арифметической прогрессией (постоянная разность между элементами) 2) Геометрической прогрессией (постоянное отношение между элементами) 3) Ни тем, ни другим
Верните строку: "арифметическая", "геометрическая" или "нет прогрессии".
Примеры:
[1, 3, 5, 7, 9] → "арифметическая" (разность 2)
[2, 4, 8, 16, 32] → "геометрическая" (отношение 2)
[1, 2, 3, 5, 8] → "нет прогрессии"
[5, 5, 5, 5, 5] → "арифметическая" (разность 0) и "геометрическая" (отношение 1)
Примечание: если список подходит под оба типа, верните "арифметическая"
(приоритет у арифметической прогрессии).
Задача 112
Валидация математического выражения
Дана строка с математическим выражением, содержащим числа, операторы +-*/ и скобки. Проверьте корректность расстановки операторов: - два оператора не могут стоять подряд - после открывающей скобки не может быть оператора (кроме унарного минуса) - перед закрывающей скобкой не может быть оператора - выражение должно начинаться и заканчиваться числом или скобкой
Пример:
"2*(3+4)-5/2" → true
"2*+3" → false
Валидация математического выражения
Дана строка с математическим выражением, содержащим числа, операторы +-*/ и скобки. Проверьте корректность расстановки операторов: - два оператора не могут стоять подряд - после открывающей скобки не может быть оператора (кроме унарного минуса) - перед закрывающей скобкой не может быть оператора - выражение должно начинаться и заканчиваться числом или скобкой
Пример:
"2*(3+4)-5/2" → true
"2*+3" → false
Задача 113
Проверка периодичности последовательности
Дана последовательность чисел. Определите, является ли она периодической (повторяется ли некий паттерн целиком от начала до конца последовательности). Если да, найдите длину наименьшего периода.
Примеры:
[1, 2, 1, 2, 1, 2] → true, период 2 (паттерн [1, 2])
[1, 2, 3, 1, 2, 3, 1] → true, период 3 (паттерн [1, 2, 3])
[1, 2, 3, 1, 2, 4] → false (нет полного повторения паттерна)
Проверка периодичности последовательности
Дана последовательность чисел. Определите, является ли она периодической (повторяется ли некий паттерн целиком от начала до конца последовательности). Если да, найдите длину наименьшего периода.
Примеры:
[1, 2, 1, 2, 1, 2] → true, период 2 (паттерн [1, 2])
[1, 2, 3, 1, 2, 3, 1] → true, период 3 (паттерн [1, 2, 3])
[1, 2, 3, 1, 2, 4] → false (нет полного повторения паттерна)
Задача 114
Перестановка максимального и минимального элементов
Дан список чисел. Найдите в списке максимальный и минимальный элементы и поменяйте их местами. Если максимальных или минимальных элементов несколько, поменяйте местами первые из найденных.
Примеры:
[3, 7, 2, 8, 5] → [3, 7, 8, 2, 5] (2 и 8 поменялись)
[1, 1, 4, 4, 2] → [4, 1, 4, 1, 2] (первая 1 и первая 4 поменялись)
[5, 5, 5, 5] → [5, 5, 5, 5] (список не изменился)
Перестановка максимального и минимального элементов
Дан список чисел. Найдите в списке максимальный и минимальный элементы и поменяйте их местами. Если максимальных или минимальных элементов несколько, поменяйте местами первые из найденных.
Примеры:
[3, 7, 2, 8, 5] → [3, 7, 8, 2, 5] (2 и 8 поменялись)
[1, 1, 4, 4, 2] → [4, 1, 4, 1, 2] (первая 1 и первая 4 поменялись)
[5, 5, 5, 5] → [5, 5, 5, 5] (список не изменился)
Задача 115
Сумма цифр числа до однозначного
Дано целое положительное число. Найдите сумму его цифр. Если полученная сумма больше 9, повторяйте процесс, пока не получите однозначное число (цифру от 1 до 9).
Примеры:
123 → 1+2+3 = 6 → 6
987 → 9+8+7 = 24 → 2+4 = 6 → 6
999 → 9+9+9 = 27 → 2+7 = 9 → 9
38 → 3+8 = 11 → 1+1 = 2 → 2
Этот процесс иногда называют "цифровым корнем" числа.
Сумма цифр числа до однозначного
Дано целое положительное число. Найдите сумму его цифр. Если полученная сумма больше 9, повторяйте процесс, пока не получите однозначное число (цифру от 1 до 9).
Примеры:
123 → 1+2+3 = 6 → 6
987 → 9+8+7 = 24 → 2+4 = 6 → 6
999 → 9+9+9 = 27 → 2+7 = 9 → 9
38 → 3+8 = 11 → 1+1 = 2 → 2
Этот процесс иногда называют "цифровым корнем" числа.
Задача 116
Чередование четных и нечетных
Дан список чисел. Проверьте, чередуются ли в нем четные и нечетные числа. Список считается "чередующимся", если каждый следующий элемент имеет противоположную четность предыдущему.
Примеры:
[1, 2, 3, 4, 5] → True (нечетное, четное, нечетное, четное, нечетное)
[2, 4, 6, 8] → False (все четные)
[1, 3, 2, 4, 7] → False (1→3: оба нечетные)
[10, 5, 8, 3, 2] → True (четное, нечетное, четное, нечетное, четное)
[] → True (пустой список считается чередующимся)
[7] → True (один элемент всегда чередуется)
Чередование четных и нечетных
Дан список чисел. Проверьте, чередуются ли в нем четные и нечетные числа. Список считается "чередующимся", если каждый следующий элемент имеет противоположную четность предыдущему.
Примеры:
[1, 2, 3, 4, 5] → True (нечетное, четное, нечетное, четное, нечетное)
[2, 4, 6, 8] → False (все четные)
[1, 3, 2, 4, 7] → False (1→3: оба нечетные)
[10, 5, 8, 3, 2] → True (четное, нечетное, четное, нечетное, четное)
[] → True (пустой список считается чередующимся)
[7] → True (один элемент всегда чередуется)
Задача 117
Суммирование чисел из файлов
Дана папка с текстовыми файлами. В каждом файле находятся целые числа, разделенные пробелами и переносами строк. Напишите скрипт, который:
1. Прочитает все файлы с расширением .txt в папке
2. Найдет сумму всех чисел из всех файлов
3. Запишет результат в новый файл result.txt
Пример структуры:
file1.txt: "10 20 30"
file2.txt: "5
15
25"
file3.txt: "100 200"
Результат: 10+20+30+5+15+25+100+200 = 405
Файл result.txt: "405"
Примечание: обрабатывайте только файлы с расширением .txt
Суммирование чисел из файлов
Дана папка с текстовыми файлами. В каждом файле находятся целые числа, разделенные пробелами и переносами строк. Напишите скрипт, который:
1. Прочитает все файлы с расширением .txt в папке
2. Найдет сумму всех чисел из всех файлов
3. Запишет результат в новый файл result.txt
Пример структуры:
file1.txt: "10 20 30"
file2.txt: "5
15
25"
file3.txt: "100 200"
Результат: 10+20+30+5+15+25+100+200 = 405
Файл result.txt: "405"
Примечание: обрабатывайте только файлы с расширением .txt
Задача 118
Поиск самого большого файла
Дана папка с файлами различных типов. Напишите скрипт, который:
1. Найдет самый большой файл в папке по размеру (в байтах)
2. Выведет информацию о нем: имя файла, размер в КБ, расширение
3. Создаст файл largest_file.txt и запишет туда эту информацию
Формат вывода в файл:
"Самый большой файл: имя_файла.расширение
Размер: 1234.56 КБ"
Если несколько файлов имеют одинаковый максимальный размер,
выберите первый найденный.
Примечание: не рассматривайте подпапки, только файлы в текущей папке.
Поиск самого большого файла
Дана папка с файлами различных типов. Напишите скрипт, который:
1. Найдет самый большой файл в папке по размеру (в байтах)
2. Выведет информацию о нем: имя файла, размер в КБ, расширение
3. Создаст файл largest_file.txt и запишет туда эту информацию
Формат вывода в файл:
"Самый большой файл: имя_файла.расширение
Размер: 1234.56 КБ"
Если несколько файлов имеют одинаковый максимальный размер,
выберите первый найденный.
Примечание: не рассматривайте подпапки, только файлы в текущей папке.
Задача 119
Подсчет файлов по типам в дереве папок
Дана корневая папка с вложенными подпапками. Напишите скрипт, который:
1. Рекурсивно обойдет все подпапки
2. Подсчитает количество файлов по расширениям
3. Запишет результат в файл file_stats.txt
Пример:
Если в папках есть файлы: a.txt, b.txt, c.jpg, d.pdf, e.txt
Результат:
.txt: 3 файла
.jpg: 1 файл
.pdf: 1 файл
Всего файлов: 5
Примечание: файлы без расширения не учитывать.
Подсчет файлов по типам в дереве папок
Дана корневая папка с вложенными подпапками. Напишите скрипт, который:
1. Рекурсивно обойдет все подпапки
2. Подсчитает количество файлов по расширениям
3. Запишет результат в файл file_stats.txt
Пример:
Если в папках есть файлы: a.txt, b.txt, c.jpg, d.pdf, e.txt
Результат:
.txt: 3 файла
.jpg: 1 файл
.pdf: 1 файл
Всего файлов: 5
Примечание: файлы без расширения не учитывать.
Задача 120
Архивация старых файлов
Дана корневая папка с вложенными подпапками. Напишите скрипт, который:
1. Найдет все файлы, которые не изменялись более 30 дней
2. Создаст папку "archive" в корневой папке
3. Переместит старые файлы в папку "archive", сохраняя структуру подпапок
4. Запишет отчет в файл archiving_report.txt
Формат отчета:
"Архивировано файлов: 8
Освобождено места: 4.2 МБ
Архивированные файлы:
- old_report.pdf (из /docs/)
- backup.zip (из /backups/)
- photo1.jpg (из /images/vacation/)"
Структура подпапок в папке "archive" должна повторять исходную структуру.
Примечание: файлы должны физически перемещаться, а не копироваться.
Архивация старых файлов
Дана корневая папка с вложенными подпапками. Напишите скрипт, который:
1. Найдет все файлы, которые не изменялись более 30 дней
2. Создаст папку "archive" в корневой папке
3. Переместит старые файлы в папку "archive", сохраняя структуру подпапок
4. Запишет отчет в файл archiving_report.txt
Формат отчета:
"Архивировано файлов: 8
Освобождено места: 4.2 МБ
Архивированные файлы:
- old_report.pdf (из /docs/)
- backup.zip (из /backups/)
- photo1.jpg (из /images/vacation/)"
Структура подпапок в папке "archive" должна повторять исходную структуру.
Примечание: файлы должны физически перемещаться, а не копироваться.
Задача 121
Нахождение самой длинной последовательности одинаковых символов
Дана строка. Найдите самую длинную последовательность одинаковых символов, идущих подряд, и верните кортеж (символ, длина).
Примеры:
"aaabbccccd" → ("c", 4)
"пррриивет" → ("р", 3)
"abcde" → ("a", 1) (любой из символов)
"" → ("", 0)
Если несколько последовательностей имеют одинаковую максимальную длину,
верните информацию о первой из них.
Примечание: учитывайте все символы, включая пробелы.
Нахождение самой длинной последовательности одинаковых символов
Дана строка. Найдите самую длинную последовательность одинаковых символов, идущих подряд, и верните кортеж (символ, длина).
Примеры:
"aaabbccccd" → ("c", 4)
"пррриивет" → ("р", 3)
"abcde" → ("a", 1) (любой из символов)
"" → ("", 0)
Если несколько последовательностей имеют одинаковую максимальную длину,
верните информацию о первой из них.
Примечание: учитывайте все символы, включая пробелы.
Задача 122
Сумма цифр четных чисел в строке
Дана строка, содержащая слова и числа. Найдите все четные целые числа в строке и вычислите сумму их цифр.
Примеры:
"У меня есть 24 яблока и 36 груш" →
24 (четное) → сумма цифр: 2+4=6
36 (четное) → сумма цифр: 3+6=9
Общий результат: 6+9 = 15
"Цена: 125 рублей, скидка 50%" →
50 (четное) → сумма цифр: 5+0=5
Результат: 5
"Нечетные числа: 11, 33, 55" → нет четных чисел → результат: 0
Примечание: числа могут быть многозначными, но без десятичной точки.
Игнорировать отрицательные числа.
Сумма цифр четных чисел в строке
Дана строка, содержащая слова и числа. Найдите все четные целые числа в строке и вычислите сумму их цифр.
Примеры:
"У меня есть 24 яблока и 36 груш" →
24 (четное) → сумма цифр: 2+4=6
36 (четное) → сумма цифр: 3+6=9
Общий результат: 6+9 = 15
"Цена: 125 рублей, скидка 50%" →
50 (четное) → сумма цифр: 5+0=5
Результат: 5
"Нечетные числа: 11, 33, 55" → нет четных чисел → результат: 0
Примечание: числа могут быть многозначными, но без десятичной точки.
Игнорировать отрицательные числа.
Задача 123
Сколько раз число встречается в своем квадрате
Дано целое положительное число. Посчитайте, сколько раз цифры этого числа встречаются в цифрах его квадрата.
Примеры:
5 → квадрат 25 → цифры числа: 5, цифры квадрата: 2,5
Цифра 5 встречается 1 раз → результат: 1
12 → квадрат 144 → цифры числа: 1,2, цифры квадрата: 1,4,4
Цифра 1 встречается 1 раз, цифра 2 встречается 0 раз
Сумма: 1+0 = 1 → результат: 1
13 → квадрат 169 → цифры: 1,3 и 1,6,9
Цифра 1 встречается 1 раз, цифра 3 встречается 0 раз
Сумма: 1+0 = 1 → результат: 1
101 → квадрат 10201 → цифры: 1,0,1 и 1,0,2,0,1
Цифра 1 встречается 2 раза, цифра 0 встречается 2 раза, цифра 1 встречается 2 раза
Сумма: 2+2+2 = 6 → результат: 6
Примечание: каждая цифра исходного числа учитывается отдельно.
Если цифра повторяется в исходном числе, она учитывается столько раз,
сколько встречается.
Сколько раз число встречается в своем квадрате
Дано целое положительное число. Посчитайте, сколько раз цифры этого числа встречаются в цифрах его квадрата.
Примеры:
5 → квадрат 25 → цифры числа: 5, цифры квадрата: 2,5
Цифра 5 встречается 1 раз → результат: 1
12 → квадрат 144 → цифры числа: 1,2, цифры квадрата: 1,4,4
Цифра 1 встречается 1 раз, цифра 2 встречается 0 раз
Сумма: 1+0 = 1 → результат: 1
13 → квадрат 169 → цифры: 1,3 и 1,6,9
Цифра 1 встречается 1 раз, цифра 3 встречается 0 раз
Сумма: 1+0 = 1 → результат: 1
101 → квадрат 10201 → цифры: 1,0,1 и 1,0,2,0,1
Цифра 1 встречается 2 раза, цифра 0 встречается 2 раза, цифра 1 встречается 2 раза
Сумма: 2+2+2 = 6 → результат: 6
Примечание: каждая цифра исходного числа учитывается отдельно.
Если цифра повторяется в исходном числе, она учитывается столько раз,
сколько встречается.
Задача 124
Чередование гласных и согласных
Дано слово (строка на русском языке). Проверьте, чередуются ли в нем гласные и согласные буквы. Игнорируйте регистр букв.
Гласные буквы русского алфавита: а, е, ё, и, о, у, ы, э, ю, я
Остальные буквы считаются согласными (включая мягкий и твердый знаки).
Примеры:
"мама" → м(с), а(г), м(с), а(г) → true (чередуются)
"папа" → п(с), а(г), п(с), а(г) → true (чередуются)
"око" → о(г), к(с), о(г) → true (чередуются)
"дом" → д(с), о(г), м(с) → true (чередуются)
"кот" → к(с), о(г), т(с) → true (чередуются)
"машина" → м(с), а(г), ш(с), и(г), н(с), а(г) → true (чередуются)
"анна" → а(г), н(с), н(с), а(г) → false (две согласные подряд)
"аист" → а(г), и(г), с(с), т(с) → false (две гласные подряд)
Слово из одной буквы всегда удовлетворяет условию.
Пустая строка возвращает true.
Чередование гласных и согласных
Дано слово (строка на русском языке). Проверьте, чередуются ли в нем гласные и согласные буквы. Игнорируйте регистр букв.
Гласные буквы русского алфавита: а, е, ё, и, о, у, ы, э, ю, я
Остальные буквы считаются согласными (включая мягкий и твердый знаки).
Примеры:
"мама" → м(с), а(г), м(с), а(г) → true (чередуются)
"папа" → п(с), а(г), п(с), а(г) → true (чередуются)
"око" → о(г), к(с), о(г) → true (чередуются)
"дом" → д(с), о(г), м(с) → true (чередуются)
"кот" → к(с), о(г), т(с) → true (чередуются)
"машина" → м(с), а(г), ш(с), и(г), н(с), а(г) → true (чередуются)
"анна" → а(г), н(с), н(с), а(г) → false (две согласные подряд)
"аист" → а(г), и(г), с(с), т(с) → false (две гласные подряд)
Слово из одной буквы всегда удовлетворяет условию.
Пустая строка возвращает true.