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
Внимательно прочитайте код выше и выберите такой вариант ответа, чтобы на выходе получилось ['e', 'o']:
Anonymous Quiz
10%
[x for w in v if x in v]
67%
[x for x in w if x in v]
12%
[x for x in v if w in v]
12%
[x for v in w for x in w]
Объяснение:

Мы можем использовать кортеж v для создания списка, который будет содержать только гласные из строки w. И в результате получить список, содержащий только гласные, присутствующие в строке "hello", то беж ['e', 'o'].

Исходя из этой логики, правильный генератор списка будет: [x for x in w if x in v]. Все остальные варианты, либо выдадут нам ошибку, либо не будут соответствовать условию.
Какой оператор позволяет «перепрыгнуть» оставшиеся выражения в цикле и перейти к следующей итерации?
Anonymous Quiz
11%
break
2%
else
79%
continue
8%
pass
Объяснение:

В Python оператор continue используется в циклах for и while. Когда интерпретатор встречает continue, текущая итерация цикла немедленно прерывается, и выполнение переходит к следующей итерации цикла. Это позволяет "перепрыгнуть" оставшиеся выражения в теле цикла для данной итерации и начать следующую итерацию с начала цикла.

Пример:
for i in range(5):
if i == 2:
continue
print(i, end= ' ')

На выходе мы получим:
0 1 3 4 

В этом коде, когда i равно 2, оператор continue говорит интерпретатору пропустить оставшуюся часть тела цикла и перейти к следующей итерации. Поэтому числа будут выведены как 0, 1, 3 и 4.
Объяснение:

Неверное утверждение:
Несколько ключей могут быть одинаковыми

Ключи в словаре Python должны быть уникальными, то есть не может быть двух одинаковых ключей. Если в словаре добавить элемент с уже существующим ключом, новое значение заменит старое.
Объяснение:

del удаляет весь словарь, и любая дальнейшая попытка доступа к нему приведет к ошибке.
Объяснение:

Функция all() возвращает значение True , если все элементы в итерируемом объекте - истинны, в противном случае она возвращает значение False. Если передаваемая последовательность пуста, то функция all() также возвращает True.
Каким будет результат выполнения кода выше?
Anonymous Quiz
4%
2
83%
False
7%
-3
6%
-4
Объяснение:

В этом коде сначала отработает функция max(), которая находит наибольшее значение между -3, -4 и False. И поскольку в этой выборке максимальное значение имеет False (потому что эквивалентно нулю) в конце у нас останется выражение min(False, 2, 7). Поэтому и в выводе мы получим False
Объяснение:

Бывают ситуации, когда при определении функции в Python требуется задать значения по умолчанию для некоторых или всех её параметров. Это особенно полезно, когда функция имеет множество параметров, и мы хотим дать возможность пользователям опускать некоторые из них при вызове функции. Если вы хотите добавить значение по умолчанию, это делается с использованием знака равенства ( = ) после названия вашего параметра

Пример:
def greet(name, greeting="Привет"):
return f"{greeting}, {name}!"

В данном примере параметр greeting имеет значение по умолчанию «Привет».
Какая из следующих конструкций сгенерирует список, содержащий квадраты чисел от 0 до 10 включительно?
Anonymous Quiz
15%
[i * i for i in range(11)]
6%
list(map(lambda i: i * i, range(11)))
19%
[i**2 for i in range(11)]
60%
Все вышеуказанные
Объяснение:

Все представленные варианты корректно сгенерируют список с квадратами чисел от 0 до 10 включительно
Какой метод вызывается при использовании оператора in для проверки наличия элемента в пользовательском классе?
Anonymous Quiz
58%
__contains__
17%
__hasitem__
11%
__iter__
13%
__getitem__
Объяснение:

Метод __contains__ вызывается при использовании оператора in

Если этот метод не определён, Python пытается использовать метод __iter__ или __getitem__ для реализации проверки на наличие элемента.