Простой тест на знание Python — вопросы

Материал из DISCOPAL
Перейти к: навигация, поиск
12345678910
Простой тест на знание Python

Вариант 2535403182.


Ваше имя*:


Вопрос 1

Сколько элементов будет содержать словарь D (то есть, чему будет равно len(D)) после выполнения следующего кода:

D = {}
D[1], D[2], D[3] = "ABB"
D[0], D[1] = "AB"
  1.  1
  2.  2
  3.  сообщение об ошибке
  4.  3
  5.  4

Вопрос 2

С помощью какого из приведенных ниже сравнений можно установить, что x и y — это один и тот же объект?

  1.  x == y
  2.  hash(x) == hash(y)
  3.  id(x) == id(y)

Вопрос 3

Сколько элементов будет содержать список, полученный в следующем списковом включении:

[x for x in itertools.takewhile(lambda x: x < 23, itertools.count(10))]
  1.  0
  2.  13
  3.  10
  4.  23

Вопрос 4

Чему будет равно значение следующего выражения:

import numpy as np
print(np.shape(np.array([[1, 2], [3, 4], [5, 6]])))
  1.  (2, 3)
  2.  (6,)
  3.  (3,)
  4.  (3, 2)

Вопрос 5

Какие из перечисленных функций имеют побочные эффекты:

 
def A(lst):
  return lambda x: lst + [x]
 
def B(x):
  return lambda lst: lst + [x]
 
def C(x, cache={}):
  return cache.setdefault(x, lambda lst: lst + [x])
 
  1.  только C
  2.  никакие
  3.  A, B, C
  4.  только B и C

Вопрос 6

С помощью функций какого модуля проще всего исследовать содержимое стека при обработке исключения в части except?

  1.  dis
  2.  tb
  3.  traceback
  4.  inspect

Вопрос 7

Какие из перечисленных функций имеют побочные эффекты:

def A(lst):
  def AA(x):
    return lst + [x]
  return AA
 
def B(x):
  def BB(lst):
    return lst + [x]
  return BB
 
def C(x, cache={}):
  if cache.has_key(x):
    return cache[x]
  def CC(lst):
    return lst + [x]
  cache[x] = CC
  return CC
 
  1.  A, B, C
  2.  никакие
  3.  только C
  4.  только B и C

Вопрос 8

Что будет получено в результате вычисления следующего выражения:

(0 < 5 <= 3) and (0 / 0)
  1.  None
  2.  True (или 1)
  3.  будет возбуждено исключение ZeroDivisionError (деление на нуль)
  4.  синтаксическая ошибка
  5.  False (или 0)

Вопрос 9

Что такое регулярное выражение?

  1.  шаблон для операции форматирования
  2.  синтаксически правильное выражение на языке Python
  3.  шаблон, описывающий множество строк
  4.  шаблон для поиска файлов в каталоге

Вопрос 10

Что будет выведено в результате выполнения сопоставления с регулярным выражением?

m = re.match("(a*?)(a+)(b+?)", "aaabbb")
print(m.groups())
  1.  ('aa', 'a', 'b')
  2.  ('aa', 'a', 'bbb')
  3.  (, 'aaa', 'b')
  4.  ('a', 'aa', 'b')