Python: задачки и вопросы
7.69K 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
Объяснение:

Здесь переменная num инициализируется значением 100. Затем определяются две функции: func_one() и func2()

Обе функции объявляют num как глобальную переменную, но только func2() фактически изменяет её значение на 80

Однако ни одна из этих функций не вызывается перед тем, как выводится значение num. Поскольку num не была изменена ни одной из функций (так как они не вызваны), её значение остаётся равным начальному значению 100

И
это значение и будет напечатано
Каким будет результат выполнения кода выше?
Anonymous Quiz
48%
"True"
5%
"False"
15%
Ошибка в первой строчке
31%
Ошибка в третьей строчке
Объяснение:

Этот код вызовет ошибку из-за использования оператора break вне цикла

В Python оператор break используется для выхода из цикла (for или while), и его нельзя использовать вне этих контекстов
Объяснение:

Вызов функции func() в первом случае (func("Заяц, ты меня слышишь?", times=1)) приведет к выводу строки "Заяц, ты меня слышишь?" один раз, так как аргумент times установлен равным 1

Во втором вызове (func("Слышу ")) аргумент times не указан, поэтому используется значение по умолчанию, равное 2

Это приведет к двойному выводу строки "Слышу ", то есть "Слышу Слышу "
Каким будет результат выполнения кода выше?
Anonymous Quiz
14%
20.23
10%
2023
52%
2023.0
23%
Error
Объяснение:

В Python 3.6 и более поздних версиях, подчеркивания (_) действительно могут использоваться как визуальные разделители для улучшения читаемости чисел, включая как целые числа, так и числа с плавающей точкой

В таком случае строка "20_23" будет интерпретироваться как 2023.0 при преобразовании во вещественное число с помощью функции float()

Это происходит потому, что подчеркивание игнорируется, и строка интерпретируется как 2023, которое затем конвертируется в вещественное число 2023.0
Каким будет результат выполнения кода выше?
Anonymous Quiz
3%
a
17%
b
25%
c
54%
d
Объяснение:

В данном коде используется оператор распаковки словарей (**) для объединения двух словарей 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]