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

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

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

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

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

Любое изменение, сделанное в переменной varOne, не отражается, поскольку она является частным членом суперкласса
Каким будет результат выполнения кода выше?
Anonymous Quiz
3%
1 0
70%
1 2
17%
Программа работает нормально, но ничего не печатается
10%
Error
Объяснение:

В приведенном выше фрагменте кода метод вызова был реализован правильно, поэтому varOne = 1, a varTwo = 2
Каким будет результат выполнения кода выше?
Anonymous Quiz
13%
0
7%
1
48%
10
20%
20
12%
50
Объяснение:

Функция, описанная в задачке, рекурсивно вычисляет наибольший общий делитель двух чисел

Так, во время первого вызова функции numOne = 20, numTwo = 50, numTwo % numOne = 10. Во время второго вызова — numOne= 10, numTwo = 20, numTwo % numOne = 0. И последний вызов оставляет нас с numOne = 0, numTwo = 10, а потому возвращаемое значение numTwo10
Каким будет результат выполнения кода выше?
Anonymous Quiz
4%
[1, 3, 2, 3]
65%
[1, 3, 2, 4]
26%
[4, 3, 2, 1]
6%
[1, 3, 2, 1]
Объяснение:

Сначала мы вычисляем выражение в правой части:

arr[0], arr[arr[0]-1] = 1, 4, т.е. arr[0] = 1, arr[arr[0]-1] = 4

При этом arr[arr[0]-1] = arr[1-1] = arr[0] = 4

Отсюда и ответ — arr = [4, 3, 2, 1]
Каким будет результат выполнения кода выше?
Anonymous Quiz
5%
0
17%
1
28%
2
50%
3
Объяснение:

Первое выражение создаёт переменную f и присваивает ей значение (1, )

Во второй строчке мы сначала умножаем (2, ) на 2 и получаем (2, 2). А уже затем этом значение прибавляем к значению f, в результате чего получаем (1, 2, 2)

Ну а длина итогового выражения, в свою очередь, равна 3
Каким будет результат выполнения кода выше?
Anonymous Quiz
50%
varOne = 10, varTwo = 10
4%
varOne = 11, varTwo = 10
35%
varOne = 10, varTwo = 11
11%
varOne = 11, varTwo = 11
Объяснение:

В Python есть лишь один способ воспользоваться инкрементом — переменная += 1. В данном случае это было бы varOne += 1

При этом формулировка ++varOne эквивалентна +(+varOne), что распарсивается в просто varOne. Отсюда и тот ответ, что мы имеем
Каким будет результат выполнения кода выше?
Anonymous Quiz
61%
true
13%
false
6%
None
20%
Error
Объяснение:

Т.к. not None — это True, то при вызове checker() условие if var будет удовлетворено. Поэтому и на экран выведется true
Каким будет результат выполнения кода выше?
Anonymous Quiz
8%
89
53%
90
16%
99
24%
100