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

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

Вариант 1091536444.


Ваше имя*:


Вопрос 1

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

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

Вопрос 2

Из какого модуля будет работать функция split() в следующем примере:

from sre import *
from string import *
split('a', 'b')
  1.  возникнет ошибка (конфликт имен)
  2.  из re
  3.  из sre.string
  4.  из string

Вопрос 3

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

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

Вопрос 4

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

(" ")
  1.  это синтаксическая ошибка
  2.  str (строка)
  3.  unicode (Unicode-строка)
  4.  tuple (кортеж)

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

Вопрос 6

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

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

Вопрос 7

Имеются следующие определения:

 
def m1(self):
  print("m1")
 
class M:
  def m2(self):
    print("m2")
 
m = M()
 


Какой из фрагментов кода содержит ошибки?


  1.   m.m1 = m1; m.m1(m)
  2.   m.m1 = m.m2; m.m1()
  3.   m.m1 = m1; m.m1()
  4.   M.m1 = m1; m.m1()

Вопрос 8

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

( , " ")
  1.  str (строка)
  2.  это синтаксическая ошибка
  3.  unicode (Unicode-строка)
  4.  tuple (кортеж)

Вопрос 9

Какое из приведенных ниже регулярных выражений некорректно?

  1.  (?P<k>(ac))
  2.  a+b++
  3.  (a+b+)+
  4.  [a]*?

Вопрос 10

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

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