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

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

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

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

Другие наши проекты: https://tprg.ru/media
Download Telegram
Каким будет результат выполнения кода выше?
Anonymous Quiz
4%
e
33%
l
3%
None
61%
Error
Объяснение:

В данном случае i равняется не 2, как могло бы показаться, а 2.0. Деление без остатка в Python выполняется с помощью //, а не /

По итогу в print() мы получаем не str_[2], а str_[2.0], что является ошибкой — индексом можем выступать лишь целочисленное значение
Каким будет результат выполнения кода выше?
Anonymous Quiz
62%
10
20%
0
15%
SyntaxError
4%
RuntimeError
Объяснение:

Несмотря на то, что значение None в Python указывает на отсутствие значения, код l = [None] * 10 создает список l, состоящий из 10 элементов, каждый из которых равен None. Функция len(l) возвращает длину списка, то есть количество элементов в этом списке. В данном случае, список содержит 10 элементов, поэтому результатом выполнения будет число 10.
Выберите правильный вариант для объединения двух списков
Anonymous Quiz
7%
newList = extend(listOne, listTwo)
35%
newList = listOne.extend(listTwo)
49%
newList = listOne + listTwo
10%
newList.extend(listOne, listTwo)
Объяснение:

newList = listOne + listTwo: Это правильный способ объединения двух списков. Он создает новый список newList, который состоит из элементов listOne, за которыми следуют элементы listTwo.

Все остальные варинты с методом extend были некорректны и не вернули бы нам нужного результата.
Каким будет результат выполнения кода выше?
Anonymous Quiz
3%
var_one, var_two
33%
Error
3%
12
1%
13
60%
(12, 13)
Объяснение:

В Python можно указать несколько присваиваний в одной строке кода:
var_one, var_two = 12, 13

Но в нашем случае код немного другой. Здесь используется упаковка кортежа. В строке:
var = var_one, var_two = 12, 13

происходит следующее: наружная часть var = ... присваивает переменной var кортеж (12, 13), который формируется из значений, присвоенных переменным var_one и var_two.
Каким будет результат выполнения кода выше?
Anonymous Quiz
10%
{5, 6, 3, 4, 5}
33%
TypeError: unhashable type: 'list'
52%
{3, 4, 5, 6}
6%
{3, 4, 5, 5, 6}
Объяснение:

Метод update() обновляет текущий набор, добавляя элементы из другого набора (или любого другого итерируемого объекта и наш список подходит по этому критерию).

Если элемент присутствует в обоих наборах, то в обновленном наборе будет присутствовать только одно появление этого элемента. Так и выходит, что получаем — {3, 4, 5, 6}
Выберите правильное объявление функции, fun1() чтобы мы могли успешно выполнить вызовы функции, указанные выше
Anonymous Quiz
20%
def fun1(**kwargs)
4%
в Python это невозможно
27%
def fun1(args*)
49%
def fun1(*data)
Объяснение:

Чтобы принимать несколько значений или когда количество аргументов заранее неизвестно, мы можем добавить * перед именем параметра, чтобы функция могла обрабатывать произвольное количество аргументов. Это значит, что мы можем создать функции, которые принимают переменное число позиционных аргументов с использованием *args (звездочка перед именем параметра).

Пример:


def fun1(*data):
for i in data:
print(i)
print("Done!")
fun1(25, 75, 55)
fun1(10, 20)
Какой метод возвращает значение строки в верхнем регистре?
Anonymous Quiz
9%
capital()
1%
caps()
16%
uppercase()
74%
upper()
Объяснение:

Метод .upper() является стандартным методом в языке программирования Python, который используется для преобразования всех символов строки в верхний регистр (большие буквы). Важно отметить, что метод upper() не изменяет исходную строку. Вместо этого он возвращает новую строку, где все символы исходной строки приведены в верхний регистр.