Тест по языку программирования Python
Русский
Advanced
Этот тест позволит вам проверить свои знания языка программирования Python. Вы сможете узнать или повторить для себя его тонкости. Все вопросы теста относятся к классической реализации языка - CPython версии 3.x (если в вопросе не указано иное). Надеюсь, вам будет интересно, удачи! 🎯
Description
31
Questions
1 min
Per question
6:06
Average time
3.0
Contest Score
4.0
Community Rating
12
Participants
Если выполнить это в консоли:
>>> a = 257
>>> b = 257
>>> print(a is b)
То здесь выведется False, как и показано в объяснении к вопросу: https://stackoverflow.com/questions/306313/is-operator-behaves-unexpectedly-with-integers
Если же выполнить то же самое в одной программе:
a = 257
b = 257
print(a is b)
То здесь выведется True.
Ссылка на код: https://ideone.com/9FRxuW
Объяснение, почему так происходит: https://www.it-swarm.xyz/ru/python/chto-s-integer-cache-vnutri-python/1070875263/
В вопросе не указано, что строки - отдельные команды в консоли, следовательно правильный ответ - "True, True, True", а не "True, False, True"
Да, в худшем O(n), но мне непонятно, почему в среднем должно быть O(log n). Во всех просмотренных мной источниках (https://books.google.ru/books?id=s1mWDwAAQBAJ&lpg=PA72&ots=_ILCtWyStR&dq=python%20random%20probing&hl=ru&pg=PA73#v=snippet&q=Full%20table%20dictioanry&f=false к примеру) указано константное среднее время, я не вижу, откуда взяться логарифму