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

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

Вариант 3699877754.


Ваше имя*:


Вопрос 1

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

 
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.  никакие
  2.  только C
  3.  только B и C
  4.  A, B, C

Вопрос 2

Имеется следующий генератор для слияния двух отсортированных последовательностей:

def merge(a1, a2):
 a1 = list(a1)
 a2 = list(a2)
 while a1 or a2:
   if a1 and (not a2 or a1[0] < a2[0]):
     r = a1
   else:
     r = a2
   yield r[0]
   del r[0]

Какие ошибки или особенности имеет эта программа?


  1.  ошибок нет
  2.  генератор оставит за собой временный список, так как «del» происходит после «yield»
  3.  генератор будет портить переданные ему списки
  4.  в последней строке каждый раз удаляется элемент из временного списка, а не из «a1» или «a2»: генератор зациклится

Вопрос 3

Что будет выведено следующей программой?

S = 0
for i in range(1, 10, 2):
  if i % 2 == 0:
    S = S + i 
print(S)
  1.  0
  2.  20
  3.  1
  4.  1024
  5.  сообщение об ошибке
  6.  10

Вопрос 4

Что можно узнать с помощью регулярного выражения r'([01]+)\1\1'?

  1.  наличие в строке нулей, единиц и обратной косой черты
  2.  троекратное повторение одной и той же строки из нулей и единиц подряд
  3.  троекратное повторение одной и той же строки из нулей и единиц, возможно, не подряд
  4.  наличие в строке нулей и единиц

Вопрос 5

Как определить функцию в Python?

  1.  с помощью lambda-выражения
  2.  с помощью оператора import
  3.  заданием списка строк исходного кода
  4.  с помощью ключевого слова «function»

Вопрос 6

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

  1.  скопировать содержимое в каталог .../site-packages
  2.  выполнить в каталоге с развернутым пакетом команду «python setup.py install»
  3.  выполнить «distutils --install имя модуля»
  4.  в Windows — запустить установщик

Вопрос 7

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

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


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

Вопрос 8

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

[ " "]
  1.  это синтаксическая ошибка
  2.  tuple (кортеж)
  3.  list (список)
  4.  array (массив)
  5.  str (строка)

Вопрос 9

Что будет выведено следующей программой?

a = 1
b = 2
a, b = b, a
print(a, b, a)
  1.  1 1 1
  2.  2 1 2
  3.  1 2 1
  4.  1 1 1 1 2 1

Вопрос 10

Какие встроенные функции возвращают в качестве значения словарь (или подобный объект)?

  1.  dir()
  2.  enumerate()
  3.  locs()