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

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

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

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

Другие наши проекты: https://tprg.ru/media
Download Telegram
На каком языке программирования написана эталонная реализация Python?
Anonymous Quiz
50%
C
32%
C++
5%
Java
12%
На всех вышеперечисленных языках
Объяснение:

CPython является основной реализацией языка Python. И именно он написан на языке С
Каким будет результат выполнения кода выше?
Anonymous Quiz
7%
<class 'number'>
18%
<class 'hexint'>
44%
<class 'hex'>
31%
<class 'int'>
Объяснение:

Целые числа можно представить не только в десятичной системе счисления, но также в двоичной, восьмиричной и шестнадцатиричной:

0b или 0B для двоичной;
0o или 0O для восьмиричной;
0x или 0X для шестнадцатиричной.

И это всё ещё будут данные типа integer.
Каким будет результат выполнения кода выше?
Anonymous Quiz
62%
True
23%
False
13%
1
2%
0
Объяснение:

В данном случае fvar и svar — переменные типа boolean. А потому ответ будет True либо False.

fvar = True, т.к. 1 == 1True, чего уже достаточно в выражении 1 == 1 or 1 != 1

svar = False, т.к. в выражении a == 1 and 2 != 2.0 есть False, а именно последнее. Да, 2 == 2.0, а не наоборот

В итоге условие в if не выполняется, а потому в печать уходит значение a
Закрепим логические операции. Каким будет результат выполнения кода выше?
Anonymous Quiz
65%
True
17%
False
17%
1
1%
0
Объяснение:

В данном случае arr[2] = 3, arr[-1] = 5. Так как 3 < 5, то выполняется кусок кода, который находится внутри if

При этом на печать уходит 1, а не True, т.к. оператор and выводит последнее истинное значение. А в данном случае мы работаем с 1 > 2 or 2 > 1 and 1 == False or True and 1 == True and 1 == 1
Каким будет результат выполнения кода выше?
Anonymous Quiz
6%
a
24%
b
30%
c
41%
d
Объяснение:

Здесь мы имеем дело с последовательной распаковкой словарей a и b в переменную c

По итогу сначала с = {1:'a', 2:'b'}, но затем, после перезаписи, с = {1:'c', 2:'d'}. В свою очередь c[2] = d
Объяснение:

Функция capitalize() не изменяет строку на месте. Она лишь возвращает новую строку, значение которой нужно вручную где-то сохранить
Каким будет результат выполнения кода выше?
Anonymous Quiz
6%
4
10%
8
72%
pepe
12%
Error
Объяснение:

Т.к. 3 // 2 == 1, выполняется кусок кода, который находится слева от if. В свою очередь var += var == var = 'pe' + 'pe' == 'pepe'