🌳 Задача про вырубку деревьев
Фермер решил вырубить некоторые деревья, растущие перед его домом. Деревья перед домом посажены в ряд, всего там растёт n деревьев, расстояния между соседними деревьями одинаковы. После вырубки перед домом должно остаться m деревьев, и расстояния между соседними деревьями должны быть одинаковыми. Помогите фермеру выяснить, сколько существует способов вырубки деревьев.
Требуется написать программу, которая по заданным числам n и m определит, сколько существует способов вырубки некоторых из n деревьев так, чтобы после вырубки осталось m деревьев, и соседние деревья находились на равном расстоянии друг от друга. Выше на картинке показаны варианты для m = 5 и n = 3.
Пример ввода:
>> 125 25
Вывод:
>> 265
👇Попробуйте написать решение. Ответ опубликуем чуть позже.
Фермер решил вырубить некоторые деревья, растущие перед его домом. Деревья перед домом посажены в ряд, всего там растёт n деревьев, расстояния между соседними деревьями одинаковы. После вырубки перед домом должно остаться m деревьев, и расстояния между соседними деревьями должны быть одинаковыми. Помогите фермеру выяснить, сколько существует способов вырубки деревьев.
Требуется написать программу, которая по заданным числам n и m определит, сколько существует способов вырубки некоторых из n деревьев так, чтобы после вырубки осталось m деревьев, и соседние деревья находились на равном расстоянии друг от друга. Выше на картинке показаны варианты для m = 5 и n = 3.
Пример ввода:
>> 125 25
Вывод:
>> 265
👇Попробуйте написать решение. Ответ опубликуем чуть позже.
Библиотека yt-dlp
yt-dlp — это библиотека и утилита командной строки для скачивания видео с YouTube и других сайтов.
Основные возможности и применение yt-dlp:
— Поддерживает скачивание видео, аудио, плейлистов, каналов и др с YouTube. Помимо этого работает с сотнями других сайтов — Vimeo, Facebook, ВКонтакте, TikTok и др. Позволяет скачивать контент практически отовсюду.
— Извлечение метаданных и обложек видео.
— Конвертация медиафайлов в другие форматы после скачивания.
— Поддержка прокси и лимитов скорости.
— Множество настроек для извлечения данных, именования файлов, пост-обработки и т.д.
— Удобная утилита командной строки и модуль Python для автоматизации.
yt-dlp — это библиотека и утилита командной строки для скачивания видео с YouTube и других сайтов.
Основные возможности и применение yt-dlp:
— Поддерживает скачивание видео, аудио, плейлистов, каналов и др с YouTube. Помимо этого работает с сотнями других сайтов — Vimeo, Facebook, ВКонтакте, TikTok и др. Позволяет скачивать контент практически отовсюду.
— Извлечение метаданных и обложек видео.
— Конвертация медиафайлов в другие форматы после скачивания.
— Поддержка прокси и лимитов скорости.
— Множество настроек для извлечения данных, именования файлов, пост-обработки и т.д.
— Удобная утилита командной строки и модуль Python для автоматизации.
Forwarded from Библиотека питониста | Python, Django, Flask
Обозначим расстояние между деревьями после вырубки d. Тогда существует n – d х (m – 1) – m + 1 способов вырубить деревья. Чтобы найти все варианты, нужно просуммировать способы по всем d. Кроме того, нужно учесть 2 частных случая – когда количество оставшихся после вырубки деревьев равно 0 или 1.
1️⃣ вариант:
n, m = list(map(int, input().split()))
trees = 0
if m == 0:
trees = 1
elif m == 1:
trees = n
else:
for d in range(1, n):
trees += (n - d) // (m - 1)
print(trees)
2️⃣ вариант:
n, m = map(int, input().split())
trees = 0
if m == 0:
trees = 1
elif m == 1:
trees = n
else:
for d in range(1, (n - 1) // (m - 1) + 1):
trees += n - (m - 1) * d
print(trees)
👉Ещё четыре олимпиадных задачи с решениями ищите в нашей статье👈
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите функцию на Python, которая принимает строку и возвращает словарь, содержащий количество вхождений каждого слова в строке. Считайте, что слова в строке разделяются пробелами, и игнорируйте знаки препинания.
Для начала используем метод translate для удаления знаков препинания из исходной строки. Модуль string предоставляет строку punctuation, содержащую все знаки препинания. Метод translate использует таблицу перевода для удаления указанных символов.
Затем приводим текст к нижнему регистру, чтобы учесть все слова независимо от регистра. После этого используем метод split() для разделения текста на список слов.
Создаём пустой словарь word_count для подсчета вхождений каждого слова. Затем, используя цикл for, проходимся по списку слов и обновляем счетчик в словаре. Если слово уже есть в словаре, увеличиваем его счетчик на 1; если нет, добавляем его в словарь с начальным счетчиком 1.
Наконец, возвращаем словарь word_count, который содержит количество вхождений каждого слова в тексте.
Для начала используем метод translate для удаления знаков препинания из исходной строки. Модуль string предоставляет строку punctuation, содержащую все знаки препинания. Метод translate использует таблицу перевода для удаления указанных символов.
Затем приводим текст к нижнему регистру, чтобы учесть все слова независимо от регистра. После этого используем метод split() для разделения текста на список слов.
Создаём пустой словарь word_count для подсчета вхождений каждого слова. Затем, используя цикл for, проходимся по списку слов и обновляем счетчик в словаре. Если слово уже есть в словаре, увеличиваем его счетчик на 1; если нет, добавляем его в словарь с начальным счетчиком 1.
Наконец, возвращаем словарь word_count, который содержит количество вхождений каждого слова в тексте.
🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.
В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями
👉Подписаться👈
В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями
👉Подписаться👈
Forwarded from Библиотека питониста | Python, Django, Flask
🐍➰ Создаем игру «Виселица» на Python. Часть 2. Графический интерфейс на PySimpleGUI
В первой части мы написали код для получения и обработки вводимых игроком данных, создали некоторые компоненты и текстовый пользовательский интерфейс (TUI). Во второй части реализуем логику игры «Виселица» и создадим графический интерфейс с помощью PySimpleGUI.
🔗 Читать статью
В первой части мы написали код для получения и обработки вводимых игроком данных, создали некоторые компоненты и текстовый пользовательский интерфейс (TUI). Во второй части реализуем логику игры «Виселица» и создадим графический интерфейс с помощью PySimpleGUI.
🔗 Читать статью