Python: задачки и вопросы
7.72K subscribers
1.19K photos
1 video
1 file
93 links
Вопросы и задачки для подготовки к собеседованиям и прокачки навыков

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

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

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

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

Если прописать один оператор * для распаковки словаря. То Python вернёт значения состоящее из ключей этого словаря. В данном случае 1 2
Объяснение:

Форматирование через % часто считается менее читаемым и более подверженным ошибкам, поэтому его использование не рекомендуется в современном коде на Python. Лучше использовать метод format() или f-строки

Касательно самой викторины: код print('Летят %x %s птицы.' %(4, 'синие')) возвращает нужный нам ответ. Потому что когда мы вставляем более одного значения при форматировании через %, нам следует сгруппировать значения справа в круглые скобки, в противном случае мы получим ошибку.
Каким будет результат выполнения кода выше?
Anonymous Quiz
23%
[True, True, True, True]
52%
[True, False, False, True]
9%
[False, True, False, True]
16%
[False, True, True, False]
Объяснение:

Для тех, кто не знает функция callable() проверяет, является ли объект вызываемым. И возвращает True , если указанный объект таковым является, в противном случае она возвращает значение False.

Строка или целое число сами по себе не являются вызываемыми. Но вот функция int() и str() подходят под этот критерий. Таким образом 2 вариант был правильным.
Каким будет результат выполнения кода?
Anonymous Quiz
31%
Python 3.11
41%
lang ver
21%
(’lang’, ‘Python’) (‘ver’, 3.11)
6%
Error
Объяснение:

**kwargs собирает все переданные ему аргументы в новый словарь. В нём имена аргументов являются ключами, а их значения — значениями ключей

По итогу когда мы проходимся по kwargs с помощью for, то мы по очереди выцепляем именно что ключи, т.е. lang и ver
Что из перечисленного ниже является недопустимым именем переменной в Python?
Anonymous Quiz
59%
yield
28%
true
7%
C31
6%
a_b_
Объяснение:

yield это ключевое слово, оно не может использоваться в качестве имени переменной, поэтому этот вариант является некорректным именем переменной.

Использование булевых значений также не допустимо, однако true в нашем случае начинается с нижнего регистра, следовательно, не является булевым значением. А остальные варианты также допустимы.
Каким будет результат выполнения кода выше?
Anonymous Quiz
37%
0
28%
TypeError
28%
SyntaxError
7%
RuntimeError
Объяснение:

Ещё один интересный пример касательно переменных. Эта код демонстрирует так называемое "затенение" встроенной функции min(). Мы создаём переменную min со значением 0, которая в результате "затеняет" встроенную функцию min(). При попытке вызвать min() возникает ошибка TypeError, так как вызывается целочисленный объект, а не функция.

Затенение встроенных функций создает проблемы, особенно в больших блоках кода, когда сложно отследить, где именно происходит затенение. Следует избегать использования имен встроенных функций в качестве переменных.
Каким будет результат выполнения кода?
Anonymous Quiz
10%
0
11%
13
44%
4
36%
-1
Объяснение:

Это задачка на внимательность. В ветке else мы не отнимаем единичку у a, а присваиваем ей значение -1

Поэтому по итогу она и остаётся равной -1
Каким будет результат выполнения кода?
Anonymous Quiz
9%
choco bar
5%
bar bar
2%
choco choco
84%
bar choco
Объяснение:

Тут всё довольно просто. Мы просто меняем значение переменной c на значение переменной d и значение переменной d на c. Как результат получаем — bar choco