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

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

Вариант 4138624001.


Ваше имя*:


Вопрос 1

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

  1.  vars()
  2.  enumerate()
  3.  globs()

Вопрос 2

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

S = "\n123\\"
  1.  4
  2.  3
  3.  6
  4.  7
  5.  сообщение об ошибке
  6.  5

Вопрос 3

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

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

Вопрос 4

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

a = "A"
b = "B"
a, b = b + a
print(a + b)
  1.  АВА
  2.  АВ
  3.  сообщение об ошибке в третьей строке
  4.  ВА

Вопрос 5

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

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

Вопрос 6

Имеется массив c, для которого shape(c) равна (2, 2, 2).

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

  1.  c[1,2]
  2.  c[:,-1]
  3.  c[::2,1]
  4.  c[...,1]

Вопрос 7

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

a = "AB"
b = "BC"
print("%sa, b" % a, b)
  1.  (AB, BC)a, b
  2.  ('AB', 'BC')a, b
  3.  "AB", "BC"a, b
  4.  ABa, b BC
  5.  сообщение об ошибке

Вопрос 8

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

l = [1, 2, 3]
l[1] = l[1:2]
print(l[1])
  1.  2
  2.  [2]
  3.  сообщение об ошибке
  4.  [1, 2]
  5.  [1]

Вопрос 9

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

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

Вопрос 10

Какую роль играет «xx» в Python-программе, и чему должен быть равен «XXX»:

 
class A:
  def xx():
    return A.__name__
  xx = XXX(xx)
 
  1.  статический метод, XXX равен staticmethod
  2.  функция, XXX можно опустить
  3.  метод, XXX равен instancemethod
  4.  метод класса, XXX равен classmethod