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

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

Вариант 1218350000.


Ваше имя*:


Вопрос 1

Какие встроенные функции служат для создания объектов определенного типа (конструкторы классов/функции-фабрики…)?

  1.  chr()
  2.  isinstance()
  3.  dict()

Вопрос 2

В каких местах допущены ошибки в генераторном выражении, выдающем список координат полей шахматной доски?

(j+str(i) for i in range(1, 9) for j in "abcdefgh")
  1.  ошибка в «for j in "abcdefgh"»
  2.  ошибок нет
  3.  ошибка в «j+str(i)»
  4.  ошибка в «for i in range(1, 9)»

Вопрос 3

Имеется следующий массив:

b = array([[1, 2], [0, 1]])

Какие из приведенных ниже операций получения среза вызовут ошибку?


  1.  b[:, 2]
  2.  b[: , :]
  3.  b[...]
  4.  b[0, ...]

Вопрос 4

Что является результатом применения функции «enumerate()» к последовательности «s»?

  1.  последовательность кортежей. В каждом кортеже первый элемент — номер элемента исходной последовательности, а второй — соответствующий этому номеру член
  2.  кортеж из двух последовательностей: последовательность чисел от нуля до len(s) и исходная последовательность
  3.  последовательность порядковых чисел в различных форматах (арабском, римском)
  4.  последовательность чисел от нуля до len(s)

Вопрос 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.  только B и C
  4.  A, B, C

Вопрос 6

Какие методы необходимо иметь x для задания следующих действий:

>>> x = X(0)
>>> print x + 10
10
>>> print x - 23
-23
>>> print x >> 2
0


  1.  __init__, __add__, __sub__, __rshift__, __str__
  2.  __init__, __add__, __sub__, __rshift__
  3.  __init__, __add__, __sub__, __rshift__, __str__, __repr__
  4.  __init__, __add__, __radd__, __sub__, __rsub__, __rshift__, __rrshift__

Вопрос 7

Класс имеет метод __call__(). Какому классу он может "подражать" и как пользоваться этим методом?

 
class A:
  #...
  def __call__(self, *params, **kws):
    #...
a = A()
 


  1.  список. Пользоваться можно так: a[0] = 5
  2.  кодовый объект. Пользоваться можно так: eval(a)
  3.  кортеж. Пользоваться можно так: a = (1, 2, 3)
  4.  функция. Пользоваться можно так: b = a(2,3,4)

Вопрос 8

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

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

Вопрос 9

С помощью какого регулярного выражения можно найти все (ровно) пятикратные повторения цифры 0?

  1.  0{1,5}[^0]
  2.  00000
  3.  0{5}[^0]
  4.  ([^0]|\A)0{5}([^0]|\Z)
  5.  00000([^0]|\Z)

Вопрос 10

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

 
import numpy as np
print( np.shape(np.transpose(np.ones((2, 3, 4)), [1, 0, 2])) )
 
  1.  (2, 4, 3)
  2.  (4, 3, 2)
  3.  (3, 2, 4)
  4.  (3, 4, 2)