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
Объяснение:

Функция ord() в Python возвращает числовое представление указанного символа. Например, в ASCII символ 'a' имеет значение 97, а 'c' — значение 99

Когда вычитаем ord('a') из ord('c'), мы фактически вычитаем 97 из 99, что дает 2
Необходимо создать словарь. Какие типы данных нельзя использовать в таком случае в качестве ключа?
Anonymous Quiz
14%
frozenset, кортеж
4%
число, кортеж
23%
булево значение
58%
список, словарь
Объяснение:

Правильный ответ «список, словарь» связан с тем, что в качестве ключей словаря в Python могут использоваться только неизменяемые (immutable) типы данных

Неизменяемые типы данных не могут быть изменены после их создания. Это обеспечивает стабильность хеша ключа, который используется для определения местоположения значения в словаре

Списки и словари являются изменяемыми (mutable) типами, что означает, что их содержимое может изменяться. И поэтому они не подходят для использования в качестве ключа
Каким будет результат выполнения кода выше?
Anonymous Quiz
63%
{num1} - один, {num2} - два
26%
1 - один, 2 - два
1%
None
11%
Error
Объяснение:

Здесь используется строка с фигурными скобками {} для вставки переменных num1 и num2

Однако здесь применена обычная строка, а не f-строка, которая требуется для вставки значений переменных в строку

В Python f-строка (форматированная строка) обозначается префиксом f перед началом строки и позволяет включать выражения Python внутри фигурных скобок {} непосредственно в строке

То есть здесь должно было быть написано f"{num1} - один, {num2} - два", чтобы получилось "1 - один, 2 - два"
Каким будет результат выполнения кода выше?
Anonymous Quiz
53%
12
3%
10
3%
None
41%
Error
Объяснение:

В этом коде есть ошибка в строке num2 = num1 += 2

Оператор += используется для увеличения значения переменной на указанное число и одновременного присваивания этого нового значения переменной

Однако в Python нельзя использовать операцию += вместе с операцией присваивания = таким образом, как это сделано в данном случае

Отсюда и ошибка
Каким будет результат выполнения кода выше?
Anonymous Quiz
37%
Wow
7%
print("Wow)
39%
18%
Error
Объяснение:

В этом коде создается лямбда-функция msg, которая при вызове печатает слово "Wow"

Однако важно отметить, что в данном случае просто происходит определение функции msg, но она не вызывается

Лямбда-функция msg является объектом функции и просто ссылка на этот объект (msg) не приведет к выполнению функции

Для того чтобы функция выполнилась, ее необходимо вызвать с использованием круглых скобок: msg()
Каким будет результат выполнения кода выше?
Anonymous Quiz
68%
H
7%
Hello
13%
Hello there!
11%
Error
Объяснение:

Здесь у нас используются функции iter() и next() для работы со строкой "Hello there!"

Функция iter() преобразует строку в итератор, что позволяет последовательно получать доступ к её элементам. Строка "Hello there!" состоит из символов, и итератор будет возвращать эти символы по одному за раз

Функция next(), когда применяется к итератору, возвращает следующий элемент последовательности

Поскольку итератор только что создан, next() вернет первый элемент строки "Hello there!", который является символом 'H'
Каким будет результат выполнения кода выше?
Anonymous Quiz
19%
No Yes No No
52%
Yes No
7%
No Yes
21%
Error
Объяснение:

func() проверяет, содержится ли число num в списке lst

Если число найдено, функция выводит "Yes" и немедленно завершается благодаря return

Если число не найдено (после завершения цикла for), выполняется блок else, и функция выводит "No"

Поэтому при вызове func(lst, 1), она выводит "Yes", так как 1 есть в списке, а при вызове func(lst, 3), она выводит "No", так как 3 в списке нет
Каким будет результат выполнения кода выше?
Anonymous Quiz
34%
{float: 3.14, str: 'Pi}
37%
{<class 'float'>: 3.14, <class 'str'>: 'Pi'}
2%
{}
28%
Error