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

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

Вариант 2576277955.


Ваше имя*:


Вопрос 1

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

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

Вопрос 2

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

L = []
L.append([1,2,3])
L = L*2
  1.  сообщение об ошибке
  2.  6
  3.  7
  4.  2
  5.  1
  6.  4

Вопрос 3

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

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

Вопрос 4

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

A = B = 1
a = "A" * 5
b = "B" * 5
a = a + b * 5
print(a, b)
  1.  AAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBB, BBBBB
  2.  сообщение об ошибке в четвертой строке
  3.  AAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBB BBBBB
  4.  30 5
  5.  AAAAABBBBBBBBBBBBBBBBBBBBBBBBB BBBBB

Вопрос 5

Класс имеет методы «__iter__()» и «next()».

О чем это говорит и как пользоваться этим методом?

 
class A:
  #...
  def __iter__(self): 
    #...
  def next(self):
    #...
a = A(1, 2, 3)
 
  1.  нет особого названия. Пользоваться можно так: print a.next()
  2.  итератор. Пользоваться можно так: for i in a: print i
  3.  последовательность. Пользоваться можно так: print a[2]
  4.  генератор. Пользоваться можно так: for i in a(): print i

Вопрос 6

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

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

Вопрос 7

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

L = []
L.append([1,2,3])
L.insert(1, "abc")
del L[0][0]
  1.  2
  2.  3
  3.  сообщение об ошибке
  4.  4
  5.  1

Вопрос 8

Как называется отношение, которое имеют следующие два класса:

 
class A:
  def __init__(self, x):
    self._mydata = x
  def m1(self):
    raise NotImplementedError
 
class B(A):
  def __init__(self, x):
    super(B, self).__init__(x)
  def m1(self):
    return self._mydata
 
  1.  наследование. A получается наследованием B
  2.  агрегация. Экземпляры A содержат экземпляры класса B
  3.  наследование. B получается наследованием A
  4.  ассоциация. Экземпляры A содержат ссылки на экземпляры класса B

Вопрос 9

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

 
class A:
  def am(self):
    print "am"
 
class B:
  def bm(self):
    print "bm"
 
a = A()
b = B()
 


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


  1.   A.am = b.bm; a.am()
  2.   a.am = b.bm; a.bm()
  3.   a.am = b.bm; a.am()
  4.   A.am = B.bm; a.am()

Вопрос 10

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

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