Язык программирования

1 719 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Интернет-магазин хранит данные о корзине покупателя в формате JSON.
Дан JSON с информацией о корзине. Нужно вывести общее количество товаров в корзине (сумму всех `quantity`).

Формат входных данных
JSON-объект с полем items — массив товаров. Каждый товар имеет поля:
  • name — название товара
  • price — цена
  • quantity — количество
Формат выходных данных
Одно целое число — общее количество товаров.
 Дерево решений состоит из узлов двух типов:

1. Внутренний узел — содержит номер признака (feature_index) для разделения.
   Если значение признака = 0, идём в левое поддерево.
   Если значение признака = 1, идём в правое поддерево.

2. Лист — содержит предсказание (prediction), которое возвращается как ответ.
Пример дерева:
                    [feature_index 0]
                     /       \
                значение=0   значение=1
                   /           \
              [feature_index 1]    лист(1)
               /      \
           лист(0)  лист(1)
Для примера [0, 1, 0]:
- Корень: feature_index=0, значение признака 0 равно 0 → идём налево
- Узел: feature_index=1, значение признака 1 равно 1 → идём направо
- Лист: prediction=1 → ответ 1

Реализуй класс TreeNode с тремя методами:

1. __init__(self, feature_index=None, left=None, right=None, prediction=None)
   Сохраняет все параметры как атрибуты объекта.

2. is_leaf(self)
   Возвращает True, если узел является листом (у него есть prediction).
   Возвращает False, если узел внутренний.

3. predict_one(self, sample)
   Делает предсказание для одного примера.
   - Если узел — лист, возвращает prediction
   - Иначе смотрит на sample[feature_index]:
     - если 0 → рекурсивно вызывает predict_one у левого поддерева
     - если 1 → рекурсивно вызывает predict_one у правого поддерева

 
 

Примеры использования:

Пример 1
# Создание листа
leaf = TreeNode(prediction=1)
leaf.is_leaf()              # True
leaf.predict_one([0, 1, 0]) # 1

Пример 2
# Создание дерева глубины 1
tree = TreeNode(
    feature_index=0,
    left=TreeNode(prediction=0),
    right=TreeNode(prediction=1)
)
tree.is_leaf()              # False
tree.predict_one([0, 1, 0]) # 0 (sample[0]=0 → налево)
tree.predict_one([1, 0, 0]) # 1 (sample[0]=1 → направо)

На крыше дома в Простоквашино висит N сосулек. Каждую минуту все сосульки одновременно капают: каждая сосулька уменьшается на 1 сантиметр. Когда длина сосульки становится 0 или меньше, она падает и исчезает.

Дядя Фёдор хочет узнать, через сколько минут упадёт последняя сосулька.

Входные данные: В первой строке число N (1 ≤ N ≤ 1000). Во второй строке N целых чисел от 1 до 10000 — начальные длины сосулек.

Выходные данные: Через сколько минут упадёт последняя сосулька.

Матроскин украшает окно к Новому году. Окно представляет собой сетку N×M клеток. Он хочет нарисовать рамку по периметру окна (все крайние клетки) специальной краской. Сколько клеток нужно закрасить?

Входные данные: Два целых числа N и M (1 ≤ N, M ≤ 1000) — размеры окна. Каждое число записано в отдельной строке.

Выходные данные: Количество клеток в рамке.

Почтальон Печкин принёс в Простоквашино ёлку высотой H сантиметров. Каждый день ёлка осыпается и становится ниже на D сантиметров, но не может стать ниже нуля. Новый год наступит через N дней.

Какой высоты будет ёлка в новогоднюю ночь (после N дней осыпания)?

Входные данные: Три целых числа H, D, N (1 ≤ H ≤ 1000, 1 ≤ D ≤ 100, 1 ≤ N ≤ 100). Каждое число записано в отдельной строке.

Выходные данные: Высота ёлки в новогоднюю ночь.

Галчонок выучил N не обязательно разных слов и говорит их по очереди, повторяя циклически. Матроскин хочет узнать, сколько раз за день Галчонок скажет слово «kto-tam», если всего за день он произносит K слов.

Входные данные: В первой строке число N, во второй число K (1 ≤ N ≤ 100, 1 ≤ K ≤ 109) — количество слов, которые повторяет Галчонок и общее количество произнесённых слов. В следующих N строках записаны слова Галчонка в том порядке, как он их повторяет (строки состоят из маленьких латинских букв и дефисов, длиной до 20 символов).

Выходные данные: Сколько раз Галчонок скажет «kto-tam».

Утром Дядя Фёдор вышел на улицу и увидел цепочку следов на снегу. Он записал глубину каждого следа в сантиметрах. Дядя Фёдор хочет найти самый глубокий след, чтобы понять, кто из жителей деревни проходил мимо (чем тяжелее, тем глубже след).

Входные данные: В первой строке число N (1 ≤ N ≤ 1000) — количество следов. Во второй строке N целых чисел от 1 до 100 — глубина каждого следа.

Выходные данные: Два числа через пробел: максимальная глубина и номер следа с такой глубиной (если таких несколько, выведите номер первого). Следы нумеруются с единицы.

Матроскин готовит бутерброды для новогоднего стола. У него есть N кусков хлеба и M кусков колбасы. На каждый бутерброд нужен один кусок хлеба и два куска колбасы. Сколько бутербродов сможет приготовить Матроскин?

Входные данные: Два целых числа N и M (0 ≤ N, M ≤ 1000) — количество кусков хлеба и колбасы.  Каждое число записано в отдельной строке.

Выходные данные: Одно число — максимальное количество бутербродов.

Печка в Простоквашино работает интересно: каждый час она повышает температуру в доме на A градусов, но из-за щелей в стенах за тот же час уходит B градусов тепла. Сейчас в доме T градусов.

Матроскин считает, что комфортная температура — не меньше C градусов. Определите, будет ли в доме когда-нибудь комфортно, и если да — через сколько полных часов.

Входные данные: Четыре целых числа T, A, B, C (−50 ≤ T ≤ 50, 1 ≤ A ≤ 10, 1 ≤ B ≤ 10, 1 ≤ C ≤ 50) — начальная температура, прирост от печки, потери тепла и желаемая температура. Каждое число вводится в отдельной строке.

Выходные данные: Число часов до достижения комфортной температуры, или «Никогда», если температура не достигнет нужной.

Мама прислала Дяде Фёдору посылку с конфетами. Дядя Фёдор хочет разделить конфеты поровну между собой, Матроскиным и Шариком. Если конфеты не делятся на троих поровну, остаток достанется Галчонку.

Сколько конфет получит каждый из троих друзей, и сколько останется Галчонку?

Входные данные: Одно целое число N (1 ≤ N ≤ 10000) — количество конфет в посылке.

Выходные данные: Два числа через пробел: сколько конфет получит каждый из друзей и сколько достанется Галчонку.

Кот Матроскин заготавливает дрова на зиму. Печка Галчонка потребляет ровно K поленьев в день. Матроскин заготовил N поленьев и хочет узнать, на сколько полных дней хватит дров.

Входные данные: Вводятся два целых числа N и K (1 ≤ N ≤ 10000, 1 ≤ K ≤ 100) — количество заготовленных поленьев и дневной расход. Каждое число записано в отдельной строке.

Выходные данные: Одно число — количество полных дней, на которые хватит дров.

Дядя Фёдор решил написать письмо Деду Морозу. Он знает, что письмо дойдёт быстрее, если в нём чётное количество слов — так устроена волшебная почта. Шарик подсказал, что если слов нечётное, можно дописать в конце слово «Пожалуйста».

Дядя Фёдор написал письмо и хочет понять: нужно ли дописывать слово или письмо уже готово к отправке?

Входные данные: В первой строке одно целое число N (1 ≤ N ≤ 100) — количество слов в письме.

Выходные данные: Выведите «Готово», если письмо можно отправлять, или «Дописать», если нужно добавить слово.

🐛Нарисуй гусеницу

 

  1. Начни рисовать с точки (0, 0) (С тела гусеницы)
  2. Нарисуй 8 зелёных точек размером 40 пикселей (цвет зелёный)
  3. Каждая следующая точка должна быть на расстоянии 30 пикселей правее от центра предыдущей
  4. Голова гусеницы должна быть рамеров 50 пикселей
  5. Нарисуй левый глаз: белая точка размером 12 пикселей в позиции (235, 10) (цвет: "white") и чёрная точка (зрачок) размером 6 пикселей в позиции (235, 10) (цвет: "black")
  6. Нарисуй правый  глаз: белая точка размером 12 пикселей в позиции (250, 10) (цвет: "white") и чёрная точка (зрачок) размером 6 пикселей в позиции (250, 10) (цвет: "black")
  7. Нарисуй рот: чёрная точка  размером 4 пикселя в позиции (245, -5) (цвет: "black")

Пятиугольник циклом

Черепашка начинает рисование  из точки (0, 0), двигаясь вправо. По завершении движения, Черепашка должна оставить след в виде пятиугольника, длина стороны которого равна 100. Прямоугольник должен располагаться выше начального положения Черепашки (смотри изображение слева). 

✓ 161✗ 134300лёгкаяВойти и решать

Нарисуйте лесенку из трёх ступенек

  • Начинаем в (0, 0).
  • Черепашка последовательно идёт: вперед 30, поворот налево, вверх 20, поворот направо, повторить три раза.
  • Горизонтальная часть лесенки должна быть толщиной 5 точек, вертикальная - 3 точки
     
L#80682

Нарисуйте букву "L"

  • Начало в (0, 0), перо опущено.
  • Из начально точки черепашка рисует линии в следующей последовательности:
    - Вниз 100 пикселей.
    - Вправо 50 пикселей.
Не используйте команду goto(). 

У учительницы есть X конфет. Она раздаёт их ученикам по очереди, давая каждому по Z конфет. Последний ученик может получить неполную порцию, если конфет останется меньше Z. Учеников в школе достаточно много. Напишите программу, которая выведет, сколько конфет получил каждый ученик.

Входные данные:

  • X — количество конфет - целое число не больше 100

  • Z — конфет каждому - целое число не больше 10
    Каждое число в отдельной строке

Выходные данные: номер ученика и количество конфет через пробел (каждая пара на новой строке). 

Врач считает температуру опасной, если она ниже 35°C или не ниже 39°C — выведите 1, если температура опасная, и 0 в противном случае.

Формат входных данных: Температура тела (целое число от 30 до 45)

Формат выходных данных: 1 или 0

Студент допускается к экзамену, если его рейтинг не меньше 50 баллов и он не имеет академической задолженности — выведите 1, если студент допущен, и 0 в противном случае.
 

Формат входных данных
Две строки: в первой строке вводится целое число - рейтинг (число от 0 до 100), во второй строке вводится одно число 0 или 1: наличие задолженности (0 — нет, 1 — есть)

Формат выходных данных
Выведите 1 или 0

В игре Fortnite игрок выполняет задания и получает V-Bucks. Но премиальные награды (больше 100 V-Bucks) идут в особый фонд для покупки редких скинов.​

Напишите программу, которая подсчитывает общую сумму полученных премиальных наград — те, где награда V-Bucks больше 100.​

Входные данные:
Первая строка: N — количество выполненных заданий (N ≤ 20)

Следующие N строк: количество V-Bucks за каждое задание (число от 0 до 500)

Выходные данные:
Сумма премиальных наград (сумма только тех чисел, которые строго больше 100)

Поделиться
Класснуть