Python tests


Channel's geo and language: Russia, Russian
Category: Technologies


Тесты и задания python разработчиков
По всем вопросам- @notxxx1
@ai_machinelearning_big_data - машинное обучение
@programming_books_it - бесплатные it книги
@pythonl - 🐍
@ArtificialIntelligencedl - AI
@datascienceiot -ds книги

Related channels  |  Similar channels

Channel's geo and language
Russia, Russian
Statistics
Posts filter


🐍 Python считает эти даты равными. Хотя между ними целый час

В ночь перевода часов время 02:30 наступает дважды:


from datetime import datetime, UTC
from zoneinfo import ZoneInfo

tz = ZoneInfo("Europe/Berlin")

a = datetime(2026, 10, 25, 2, 30, tzinfo=tz, fold=0)
b = datetime(2026, 10, 25, 2, 30, tzinfo=tz, fold=1)

print(a)
# 2026-10-25 02:30:00+02:00

print(b)
# 2026-10-25 02:30:00+01:00


Это разные моменты:


a = 00:30 UTC
b = 01:30 UTC


Но Python выдаёт:


a == b # True
b - a # 0:00:00
len({a, b}) # 1


Причина: если у двух datetime один объект tzinfo, при сравнении Python игнорирует смещение и fold.

Из-за этого дедупликация может принять два платежа, заказа или события за одно.

Для сравнения реальных моментов переводите время в UTC:


a_utc = a.astimezone(UTC)
b_utc = b.astimezone(UTC)

a_utc == b_utc
# False

(b_utc - a_utc).total_seconds()
# 3600.0


Используйте astimezone(UTC). Метод replace(tzinfo=UTC) только заменяет метку и не пересчитывает время.

https://docs.python.org/3/library/datetime.html

https://peps.python.org/pep-0495/


Что выведет код?
Poll
  •   ['Матрешка']
  •   ``.``.``.``
  •   Боян
  •   Error
10 votes




🔥 Python + AI без игрушечных демок. Курс для тех, кто хочет собирать рабочие системы.

Stepik: «Python современный AI для разработчика и автоматизации задач»

63 урока, 382 шага, практика с кодом и автопроверкой.

Внутри: RAG, tool calling, агенты, evals, MCP, Ollama, vLLM, pgvector + HNSW, безопасный text-to-SQL, prompt injection, кэш, очереди и sandbox для агентного кода.

Плюс реальные автоматизации: почта, отчёты, боты, вебхуки и браузерные сценарии.

Для тех, кто уже знает Python и хочет перейти к production AI.

⏳ 72 часа скидка 55%

https://stepik.org/a/295921


Каким будет вывод этого кода, если в качестве инпута передать цифру 6?
Poll
  •   Bye (1 раз)
  •   Invalid (1 раз)
  •   Bye (бесконечное количество раз)
  •   Вывода не будет
  •   Посмотреть ответ
83 votes




Каким будет вывод этого кода?
Poll
  •   first=H, third=L
  •   first=0, third=2
  •   first=0, third=L
  •   Ошибка
  •   Посмотреть ответ
101 votes




Каким будет вывод этого кода?
Poll
  •   [3, 2, 4]
  •   [2, 3, 4]
  •   [3, 4, 2]
  •   Ошибка
  •   Посмотреть ответ
124 votes


Что выведет код ?




Что выведет код?
Poll
  •   typ
  •   pyt
  •   noht
  •   htyp
20 votes




Каким будет вывод этого кода?
Poll
  •   Ошибка
  •   1
  •   6
  •   9
  •   Посмотреть ответ
119 votes




🐍 Python Pop Quiz: что окажется внутри `silly_dict`?

Вопрос звучит просто, но тут ловушка в том, как Python работает с ключами словаря.

Варианты:

A) {"py": "amazing"}
B) {"py": 10}
C) {"py": "amazing", : 10}
D) None of the above

Суть в том, что ключи в dict сравниваются не по тому, как они выглядят в коде, а через __hash__ и __eq__.

Если объект пользовательского класса имеет такой же хеш, как строка "py", и при сравнении считается равным этой строке, то Python решит: это один и тот же ключ.

В таком случае новое значение просто перезапишет старое.

Ответ: B) `{"py": 10}`

Маленький пример, но отлично показывает важную вещь: в Python ключ словаря - это не “текстовое имя”, а объект с правилами хеширования и сравнения.


Каким будет вывод этого кода в консоли?
Poll
  •   'sun'
  •   'u'
  •   Или 's', или 'u', или 'n'
  •   Ошибка
  •   Посмотреть ответ
28 votes




Что выведет код?
Poll
  •   build, 5 [1, 9]
  •   build, 10 []
  •   build, 14 [1, 4, 9]
  •   Error
5 votes



20 last posts shown.