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

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

Вариант 3639070330.


Ваше имя*:


Вопрос 1

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

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

Вопрос 2

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

lst = []
 
def A(lst, x):
  return lst + [x]
 
def B(x):
  lst.append(x)
  return lst
 
def C(lst, x):
  return lst.count(x)
  1.  только A и B
  2.  A, B, C
  3.  только B
  4.  никакие
  5.  только B и C

Вопрос 3

В каких точках программы необходимо выполнять acquire() и release() замка Z, чтобы функция f могла правильно работать в многопоточном приложении? (Как обычно, нужно минимизировать общее время, на которое запирается замок)

def f(x, y, z):
  global d
  # 1
  d[(x, y)] = z
  # 2
  res = len(d)
  # 3
  return res


  1.  замок не нужен
  2.  1: Z.acquire(), 3: Z.release()
  3.  1: Z.acquire(), 2: Z.release(), Z.acquire(), 3: Z.release()
  4.  1: Z.acquire(), 2: Z.release()

Вопрос 4

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

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

Вопрос 5

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

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


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


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

Вопрос 6

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

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

Вопрос 7

Какая операция выполняет пересечение множеств:

A = set([1, 2, 3])
B = set([2, 3, 7])
  1.  «A * B»
  2.  «A & B»
  3.  «A ^ B»
  4.  «A | B»

Вопрос 8

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

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.  сообщение об ошибке
  2.  0
  3.  6
  4.  12
  5.  2

Вопрос 9

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

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

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

Вопрос 10

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

from sre import sub as replace
from string import replace
  1.  sre.sub
  2.  из sre.string
  3.  из string
  4.  возникнет ошибка (конфликт имен)