Python: задачки и вопросы
7.69K subscribers
1.21K photos
2 videos
1 file
99 links
Вопросы и задачки для подготовки к собеседованиям и прокачки навыков

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

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

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

Другие наши проекты: https://tprg.ru/media
Download Telegram
Объяснение:

В данном коде используется оператор распаковки словарей (**) для объединения двух словарей a и b в словарь c

При этом если в обоих словарях есть ключи с одинаковыми значениями, как в данном случае ключи 1 и 2, значение из последнего словаря (b) перезаписывает значение из предыдущего словаря (a)

Поэтому значение c[2], соответствующее ключу 2, будет взято из словаря b, и это значение d
Каким будет результат выполнения кода выше?
Anonymous Quiz
28%
21
6%
0
56%
21.0
10%
0.0
Объяснение:

Тут все достатоно просто: int(21) преобразует число 21 в целое число (что не изменяет его значение, так как оно уже является целым), а float(21) * 0 преобразует 21 в вещественное число и умножает его на 0, что дает 0.0.

Сумма 21 (целое число) и 0.0 (вещественное число) в Python дает вещественное число 21.0
Каким будет результат выполнения кода выше?
Anonymous Quiz
28%
[1]
34%
[1, 1]
31%
[1, 1, 1]
7%
Error
Объяснение:

В Python аргументы функций по умолчанию инициализируются только один раз при определении функции

Здесь аргумент itm инициализируется как пустой список [] при первом вызове функции. Поскольку списки являются изменяемыми объектами, каждый вызов hmm() без аргументов приводит к добавлению числа 1 в этот же список

Поэтому после двух вызовов hmm() в цикле for, список содержит два элемента [1, 1]. При третьем вызове hmm() в список добавляется еще одна 1, что приводит к результату [1, 1, 1]
Каким будет результат выполнения кода выше?
Anonymous Quiz
1%
()
61%
Шла
20%
("Шла", "Саша", "по Шоссе")
18%
Error
Объяснение:

Ответ будет "Шла". В данном примере tup = "Шла", "Саша", "по Шоссе" создает кортеж (tuple) из трех элементов

Когда эти элементы распаковываются в переменные var1, var2, var3, каждой переменной присваивается соответствующий элемент кортежа

var1 получает первый элемент кортежа, который является строкой "Шла". Поэтому при выводе print(var1), отображается значение "Шла"
Каким будет результат выполнения кода выше?
Anonymous Quiz
13%
1
24%
2
50%
True
13%
False
Объяснение:

Логический оператор and возвращает первый операнд, если он ложен (в контексте булевой логики), или второй операнд, если первый истинен

В данном случае, поскольку var1 (который равен 1) является истинным значением (любое ненулевое число в Python считается истинным), результатом выражения var1 and var2 будет значение var2, которое равно 2
Каким будет результат выполнения кода выше?
Anonymous Quiz
4%
[0, 1, 2, [3], 4, 5]
60%
[0, 1, 2, 3, 4, 5]
34%
[0, 1, 2, 3, [4, 5]]
2%
[0, 1, 2, [3], [4, 5]]
Объяснение:

Здесь мы создаем список lst, который изначально содержит элементы [0, 1, 2]

Затем метод .append(3) добавляет число 3 в конец списка, делая его [0, 1, 2, 3]

После этого метод .extend([4, 5]) расширяет список lst, добавляя элементы списка [4, 5] в его конец. Это приводит к окончательному списку [0, 1, 2, 3, 4, 5]
Каким будет результат выполнения кода выше?
Anonymous Quiz
25%
1234567
22%
**1234567
20%
1234567**
32%
*1234567*
Объяснение:

В данном форматировании строки с помощью метода .format(), {0:*^9} определяет формат вывода

0 указывает на индекс аргумента, который будет подставлен (1234567), * является символом, используемым для заполнения дополнительного пространства, ^ указывает на центрирование значения, а 9 определяет общую ширину поля

Поскольку число 1234567 состоит из 7 цифр и общая ширина поля установлена равной 9, с каждой стороны числа добавляется по одному символу * для достижения общей ширины в 9 символов, в результате чего получается *1234567*
Каким будет результат выполнения кода выше?
Anonymous Quiz
8%
0
22%
new
36%
old
33%
Error