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

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

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

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

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

Lambda-функция может принимать любое количество аргументов, но может иметь лишь одно выражение (lambda аргумент(ы): выражение)
Каким будет результат выполнения кода выше?
Anonymous Quiz
19%
['h', 'n', 'o', 'P', 't', 'y']
36%
h n o P t y
15%
['P', 'h', 'n', 'o', 't', 'y']
30%
P h n o t y
Объяснение:

Сначала мы создаём список strLst = ['P', 'y', 't', 'h', 'o', 'n'], который тут же сортируем. В итоге получаем ['P', 'h', 'n', 'o', 't', 'y']

Затем этот список мы превращаем в строку, где каждый элемент strLst будет разделён при помощи пробела. Итоговый вариант (P h n o t y) и выводим на экран
Какой метод «разворачивает» список?
Anonymous Quiz
7%
.backward()
75%
.reverse()
15%
.reversed()
3%
.endtostart()
Объяснение:

За разворачивание списка отвечает метод .reverse(). Он не возвращает никакого значения, т.е. результат его выполнения не нужно приравнивать к какой-либо переменной
Каким будет результат выполнения кода выше?
Anonymous Quiz
31%
['b', 'o']
9%
['b', 'o', 'b', 'o']
6%
[]
53%
Error
Объяснение:

У типа данных list нет операции вычитания. Отсюда и ошибка:

TypeError: unsupported operand type(s) for -: 'list' and 'list'
Каким будет результат выполнения кода выше?
Anonymous Quiz
2%
2
38%
4
5%
55%
Error
Объяснение:

При выполнении программы, мы получим ошибку. Всё дело в том, что nums = 2, 2 создаёт кортеж (tuple)

В итоге передавая функции multiply в качестве аргумента лишь nums, мы теряем второй необходимый аргумент. На это и ругается интерпретатор:

TypeError: multiply() missing 1 required positional argument: 'argTwo'
Каким будет результат выполнения кода выше?
Anonymous Quiz
17%
True
2%
False
51%
101
30%
Error
Объяснение:

Если привести True к типу данных int, то мы получим 1. В итоге 1 + 100 = 101
Каким будет результат выполнения кода выше?
Anonymous Quiz
12%
0
27%
1
10%
True
51%
Error
Объяснение:

В Python нет тернарных операций вида условие ? результат 1 : результат 2

Вместо этого в языке используется конструкция результат 1 if условие else результат 2
Каким будет результат выполнения кода выше?
Anonymous Quiz
19%
(8, 20)
34%
(2, 5, 2, 5, 2, 5, 2, 5)
19%
10
28%
Error