Не попадитесь на накрученные каналы! Узнайте, не накручивает ли канал просмотры или подписчиков Проверить канал на накрутку
Прикрепить Телеграм-аккаунт Прикрепить Телеграм-аккаунт

Телеграм канал «Библиотека задач по Python | тесты, код, задания»

Библиотека задач по Python | тесты, код, задания
1.3K
663
963
71
3.9K
Задачи и тесты по Python для тренировки и обучения.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/9f7384d6

Для обратной связи: @proglibrary_feeedback_bot
Подписчики
Всего
6 340
Сегодня
+1
Просмотров на пост
Всего
235
ER
Общий
3.71%
Суточный
2.79%
Динамика публикаций
Telemetr - сервис глубокой аналитики
телеграм-каналов
Получите подробную информацию о каждом канале
Отберите самые эффективные каналы для
рекламных размещений, по приросту подписчиков,
ER, количеству просмотров на пост и другим метрикам
Анализируйте рекламные посты
и креативы
Узнайте какие посты лучше сработали,
а какие хуже, даже если их давно удалили
Оценивайте эффективность тематики и контента
Узнайте, какую тематику лучше не рекламировать
на канале, а какая зайдет на ура
Попробовать бесплатно
Показано 7 из 1 343 постов
Смотреть все посты
Пост от 27.10.2026 15:01
71
0
0
❓ В каком порядке окажутся записи с одинаковым ключом сортировки?

Python 3.13. Что выведет код?

players = [
("Zoe", 10),
("Ann", 5),
("Bob", 10),
]

ordered = sorted(players, key=lambda p: p[1])

print(" ".join(name for name, score in ordered))

👾 — Ann Zoe Bob
👍 — Ann Bob Zoe
🥰 — Zoe Bob Ann
⚡️ — Zoe Ann Bob

Ответ: 👾 — Ann Zoe Bob.

sorted сортирует только по ключу p[1], то есть по баллам. Сортировка стабильна: при равных ключах сохраняется исходный порядок записей. Поэтому после Ann с 5 баллами идут Zoe и Bob с 10 баллами именно в таком порядке. По именам дополнительная сортировка не выполняется.

Правило в документации Python

🐸 Библиотека задач по Python
Пост от 26.10.2026 15:03
162
0
1
❓ Может ли finally изменить возвращаемый список?

Python 3.13. Что выведет код?

def build():
result = [1]
try:
return result
finally:
result.append(2)

print(build())

👾 — [1]
👍 — None
🥰 — [1, 2]
⚡️ — Ошибка: после return код не выполняется

Ответ: 🥰 — [1, 2].

return выбирает объект, который нужно вернуть, но до фактического выхода из функции выполняется finally. Он изменяет тот же список, поэтому вызывающий код получает [1, 2]. Нового списка здесь не создаётся, и значение return не заменяется.

Правило в документации Python

🐸 Библиотека задач по Python
Пост от 25.10.2026 19:55
42
0
0
📌 Один курс — хорошее вложение в себя. Два по той же цене — ещё лучше.

В Proglib Academy действует акция: покупаешь один курс, а второй получаешь в подарок.

Например, можно совместить два направления по работе с ИИ:

💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью.

💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений.

📍 Разница в цене — почти 50 тысяч рублей. Можно освоить больше, не выходя за рамки запланированного бюджета.

А если тебе интереснее Python, алгоритмы, backend или DevOps — выбирай другую пару курсов из каталога.

Акция действует до 31 октября включительно ⏳

⏮️ Пора прокачать свой стек
Пост от 25.10.2026 15:04
65
0
1
❓ Сработает ли match, если в словаре есть лишние ключи?

Python 3.13. Что выведет код?

payload = {"kind": "ping", "debug": True}

match payload:
case {"kind": kind}:
print(kind)
case _:
print("no match")

👾 — no match
👍 — ping
🥰 — Ошибка из-за ключа debug
⚡️ — Ошибка: kind должен быть объявлен заранее

Ответ: 👍 — ping.

Шаблон словаря требует наличия указанных ключей, но не запрещает дополнительные. Ключ kind найден, а его значение связывается с переменной kind. Ключ debug совпадению не мешает. Чтобы собрать остальные пары, можно добавить в шаблон захват остатка словаря.

Правило в документации Python

🐸 Библиотека задач по Python
Пост от 24.10.2026 15:03
74
0
1
❓ Когда генератор выбирает источник, а когда проверяет условие?

Python 3.13. Что выведет код?

source = [1, 2, 3]
limit = 1

selected = (x for x in source if x > limit)

source = [9]
limit = 2

print(list(selected))

👾 — [2, 3]
👍 — [9]
🥰 — []
⚡️ — [3]

Ответ: ⚡️ — [3].

Для самого левого for генераторного выражения источник и его итератор выбираются при создании генератора. Поэтому переназначение source не переключает selected на список [9]. Условие x > limit проверяется во время обхода, когда limit уже равен 2. Из исходного списка проходит только 3.

Правило в документации Python

🐸 Библиотека задач по Python
Пост от 23.10.2026 15:01
50
0
1
❓ Создаст ли defaultdict новый ключ при вызове get?

Python 3.13. Что выведет код?

from collections import defaultdict

groups = defaultdict(list)

print(groups.get("new"), len(groups))

groups["new"].append(1)

print(groups["new"], len(groups))

👾 — None 0, затем [1] 1
👍 — [] 1, затем [1] 1
🥰 — None 1, затем [1] 1
⚡️ — KeyError

Ответ: 👾 — None 0, затем [1] 1.

get работает как у обычного dict: без указанного значения по умолчанию возвращает None и ничего не вставляет. Фабрика list вызывается при обращении к отсутствующему ключу через квадратные скобки. Тогда создаётся список, в который append добавляет 1.

Правило в документации Python

🐸 Библиотека задач по Python
Пост от 22.10.2026 19:47
55
0
0
😎 Выбираешь один курс, второй получаешь бесплатно. Баг? Нет, акция!

До 31 октября в Proglib Academy можно выбрать два курса и заплатить только за один.

Например, можно совместить:

💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью.

💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений.


Вместе курсы стоят 108 000 ₽, но по акции оба обойдутся в 59 000 ₽. Экономия — 49 000 ₽ 🔥

Интересуют Python и ИИ или алгоритмы и архитектура? Можно выбрать любые два курса из каталога.

Акция действует до 31 октября включительно ⏳

⏬ Собрать свой учебный билд
Смотреть все посты