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

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

Вариант 716044549.


Ваше имя*:


Вопрос 1

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

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

Вопрос 2

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

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

Вопрос 3

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

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

Вопрос 4

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

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

Вопрос 5

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

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

Вопрос 6

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

 
class A(type):
  def __init__(cls, name, bases, dict):
    return super(A, cls).__init__(cls, name, bases, dict)
 
B = A("B", (), {})
 
  1.  метакласс. A является метаклассом для B
  2.  наследование. B получается наследованием A
  3.  ассоциация. A содержит ссылки на B
  4.  метакласс. B является метаклассом для A

Вопрос 7

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

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

Вопрос 8

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

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)

Вопрос 9

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

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

Вопрос 10

Начало определения функции «f» выглядит так:

def f(a, b, c=None, d="0"):

Какие из следующих вариантов вызова приведут к ошибке на этапе присваивания фактических параметров формальным?

  1.  «f(1, 2, d=3, c=4)»
  2.  «f(1, 2, d=3)»
  3.  «f(1, 2, 3, 4)»
  4.  «f(1, 2)»
  5.  «f(1, d=3)»