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

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

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

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

Другие наши проекты: https://tprg.ru/media
Download Telegram
Каким будет результат выполнения кода выше?
Anonymous Quiz
23%
1
69%
2
2%
3
6%
Error
Объяснение:

В данном примере, несмотря на то, что в блоке try есть инструкция return 1, блок finally будет выполнен в любом случае после выполнения блока try

Поскольку в блоке finally также есть инструкция return 2, это значение будет возвращено функцией func, переопределяя предыдущее значение 1
Каким будет результат выполнения кода выше?
Anonymous Quiz
8%
0 2 4 0 0 0 0 -2 4
3%
0 2 4 0 0 0
54%
0 1 2 0 1 2
35%
Error
Объяснение:

- в
первой строке str_ умножается на 2, что приводит к повторению строки str_ два раза: '0 1 2 0 1 2 '
- во второй строке str_ умножается на 0, что приводит к пустой строке '', поскольку любая строка, умноженная на 0, дает пустую строку
- в третьей строке str_ умножается на -2. Отрицательное число в качестве множителя также дает пустую строку

Отсюда и ответ 0 1 2 0 1 2
Каким будет результат выполнения кода выше?
Anonymous Quiz
37%
0 1 2
42%
0 1 1
11%
0 0 1
10%
0 2 1
Объяснение:

В первом выражении 0 and 1, оператор and возвращает первый операнд (0), если он ложный, и второй операнд (1), если первый операнд истинный. Поскольку 0 оценивается как ложный, результатом будет 0

Во втором выражении 0 or 1 or 2, оператор or возвращает первый истинный операнд, в этом случае 1, поскольку 0 оценивается как ложный, но 1 оценивается как истинный

В третьем выражении 1 and 2 вернет 2, потому что оператор and продолжает проверку до последнего значения и возвращает его, если все значения истинные, и возвращает последнее значение. Сначала проверяется 1 (которое является истинным), затем 2 (которое также является истинным). В итоге возвращается и печатается 2
Каким будет результат выполнения кода выше?
Anonymous Quiz
13%
['h', 'n', 'o', 'P', 't', 'y']
31%
h n o P t y
19%
['P', 'h', 'n', 'o', 't', 'y']
38%
P h n o t y
Объяснение:

Код преобразует строку 'Python' в список str_lst символов, затем сортирует этот список в алфавитном порядке

После этого, он объединяет отсортированный список обратно в строку str_, разделяя каждый символ пробелом с помощью метода join()

При выполнении print(str_) будет выведено: P h n o t y
Каким будет результат выполнения кода выше?
Anonymous Quiz
34%
27.5
9%
33
5%
None
52%
Error
Объяснение:

Здесь предполагается итерация через диапазон чисел с шагом 0.5 от 0.5 до 5.5, и каждое число прибавляется к переменной res

Однако функция range() принимает только целочисленные аргументы, и, следовательно, вызов range(0.5, 5.5, 0.5) вызовет ошибку TypeError

Из-за нее код не будет выполнен, и ничего не будет выведено
Каким будет результат выполнения кода выше?
Anonymous Quiz
16%
True True
10%
True False
61%
False False
13%
Error
Объяснение:

Наш код сравнивает три разных типа данных в Python: список (var1), множество (var2) и кортеж (var3)

Список и множество не могут быть равны, потому что множество не учитывает порядок элементов и не допускает повторений, в отличие от списка

Список и кортеж также не равны, несмотря на одинаковые элементы, потому что это разные типы структур данных

Таким образом, результат обоих сравнений будет False
Каким будет результат выполнения кода выше?
Anonymous Quiz
18%
True True
18%
True False
34%
False True
30%
False False