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
Каким будет результат выполнения кода выше?
Anonymous Quiz
9%
'H'
10%
'h'
48%
-1
34%
Error
Объяснение:

Метод .find ищет индекс аргумента в строке ('h' в 'Hello, World'). При этом если он не находит нужный символ, то возвращает -1.

Так как в строке 'Hello, World' нет символа 'h', то правильный ответ -1.
Каким будет результат выполнения кода выше?
Anonymous Quiz
32%
2
54%
1
2%
0
13%
Error
Объяснение:

В printvar() переменная var была объявлена с помощью ключевого слова global. Это привело к тому, что внутри функции мы работаем с var = 1, а не var = 2, которая была объявлена исключительно внутри func().
Каким будет результат выполнения кода выше?
Anonymous Quiz
27%
[2, 0]
35%
[2, 2]
27%
[2, 0, 2]
10%
[]
Объяснение:

С помощью del sequence[i:j:k] можно удалить элементы в последовательности по определенному срезу с указанным шагом (от индекса i до индекса j с шагом k)

Когда начальный индекс и шаг не указаны явно, то используются значения 0 и 1 соответственно

В нашем примере получается, что из списка lst надо удалить элементы с первого по второй (включительно) с шагом 1.
Каким будет результат выполнения кода выше?
Anonymous Quiz
9%
0 - 0 - 5
11%
2 - 1 - 5
71%
2 - 0 - 5
9%
Error
Объяснение:

Давайте пройдёмся по каждой переменной по отдельности.

fnum = (2 x 4) % 3 — здесь сначала выполняется умножение (2 x 4 = 8), а затем у полученного числа берётся остаток от деления на три (8 % 3 = 2). По итогу fnum = 2

snum = 3 x 2 % 3 — здесь также сначала 3 x 2 = 6, а уже затем 6 % 3 = 0. Связано это с тем, что операции умножения и получения остатка от деления имеют одинаковый приоритет. snum = 0

tnum = 5 x (1 % 2) — здесь наоборот, сначала 1 % 2 = 1, а затем 5 x 1 = 5. В итоге tnum = 5
Объяснение:

Так как здесь нигде нет обращения к глобальной переменной, то всё работает достаточно просто. Сначала выводится str, который находится внутри func() — его печать происходит внутри enclosed()

Затем печатается уже str, который был объявлен в самом начале кода — соответствующая команда является последней в программе
Как правильно записать строку "McDonald's" в переменную fastfood?
Anonymous Quiz
7%
fastfood = 'McDonald's'
62%
fastfood = 'McDonald\'s'
10%
fastfood = 'McDonald\\'s'
21%
fastfood = ""McDonald\'s""
Объяснение:

Бывают случаи, когда внутри строки есть знак одинарной кавычки и при этом сама строка также создана с её использованием

В таком случае внутри строки перед одинарной кавычкой надо использовать знак экранирования (\), чтобы программа работала корректно

Также можно пойти другим путём и создать строку с использованием двойных кавычек, т.е. fastfood = "McDonald's"
Каким будет результат выполнения кода выше?
Anonymous Quiz
20%
<class 'int'>
3%
<class 'float'>
23%
<class 'list'>
54%
<class 'range'>
Объяснение:

При использовании range(), в Python 3 возвращается объект типа range, а не list, как могло бы показаться