Python: задачки и вопросы
7.73K subscribers
1.19K photos
1 video
1 file
91 links
Вопросы и задачки для подготовки к собеседованиям и прокачки навыков

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Другие наши проекты: https://tprg.ru/media
Download Telegram
Каким будет результат выполнения кода выше?
Anonymous Quiz
42%
filter
5%
int
35%
list
19%
tuple
Объяснение:

В процессе фильтрации в задаче используется функция filter, которая возвращает объект класса filter, а не непосредственный список или другой итерируемый объект. Это происходит потому, что мы не преобразовываем результат filter в конкретный тип данных (например, список или кортеж). Если бы мы попробовали напрямую вывести результат выполнения filter, он бы отобразился как <filter object at ...> с указанием места в памяти.
Каким будет результат выполнения кода выше?
Anonymous Quiz
44%
3
28%
6
19%
7
9%
Error
Объяснение:

Каждый раз, когда i % 3 != 0, мы переходим к следующей итерации цикла. Таким образом, значение c увеличивается лишь при i = 0 и в случае, когда i делится на 3 без остатка (здесь это 3 и 6)
Каким будет результат выполнения кода выше?
Anonymous Quiz
26%
13.37
12%
1337
43%
1337.0
20%
ValueError
Объяснение:

Подчёркивание — это разделитель, который используется для повышения удобности читаемости, но который игнорируется синтаксисом Python

Поэтому здесь float() сработал так же, как если бы мы ему передали не '13_37', а '1337'
Каким будет результат выполнения кода выше?
Anonymous Quiz
4%
16
29%
8
2%
2
65%
Error
Объяснение:

Попались?) В этом коде есть ошибка из-за неправильного отступа, поэтому правильный результат будет Error. Если исправить этот момент, то мы, конечно же, получим 8.
Объяснение:

Python поддерживает автоматическую сборку мусора (Garbage Collection) для управления памятью. Он также имеет хорошие возможности для интеграции с другими языками и технологиями.

Например с помощью:

— CPython API:
Стандартный интерпретатор Python, известный как CPython, предоставляет API для написания C-расширений. Используя эту функциональность, можно писать C-код, который объединяется с Python.
Документация: Python C API

— Jython: Это реализация Python на языке Java. Jython позволяет напрямую использовать Java-классы в Python-коде и создается для исполнения на JVM (Java Virtual Machine).
Официальный сайт: jython.org
Каким будет результат выполнения кода выше?
Anonymous Quiz
36%
dict
44%
set
14%
tuple
5%
list
Объяснение:

Что же здесь происходит? Лучший способ узнать, попробовать поиграться с этим кодом:

print(type({{}})) # Без звёздочки
Вывод:
builtins.TypeError: unhashable type: 'dict'


Когда мы не используем звёздочку, Python интерпретирует это как попытку создать вложенный словарь. Однако, вы не можете создать словарь, который содержит другой пустой словарь, так как ключи словаря должны быть хешируемыми. В результате попытка это сделать приведёт к TypeError.

Но если вы используете звёздочку с пустым словарем, то Python "распакует" этот словарь, даже если там нечего распаковывать. В итоге мы получаем пустое множество (set).

Вот такой вот интересный трюк. Кстати, если вы знаете что-то подобное, то делитесь в комментариях. Может викторину из этого придумаем :)
У вас есть строка s = "Welcome". Какая из следующих операций с этой строкой приведёт к ошибке?
Anonymous Quiz
2%
print(s[0])
4%
print(s.lower())
79%
s[1] = 'r'
15%
print(s.strip())
Объяснение:

Правильный ответ: s[1] = 'r'

Строки в Python неизменяемы, и вы не можете напрямую изменить их элементы. Все остальные варианты возвращают новые, измененные версии строки, оставляя исходную строку s без изменений.
Каким будет результат выполнения кода выше?
Anonymous Quiz
18%
{0:1, 7:0, 1:1, 8:0}
10%
{1:1, 7:2, 0:1, 8:1}
39%
{0:0, 7:0, 1:1, 8:1}
34%
KeyError