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

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

Вариант 3409932666.


Ваше имя*:


Вопрос 1

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

  1.  directory()
  2.  locals()
  3.  enumerate()

Вопрос 2

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

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

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

Вопрос 4

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

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


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

Вопрос 5

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

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

Вопрос 6

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

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

Вопрос 7

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

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

Вопрос 8

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

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

Вопрос 9

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

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

Вопрос 10

Даны матрицы a и b.

 
import numpy as np
…
 

Как получить поэлементное произведение матриц?


  1.  a * b
  2.  np.dot(a, b)
  3.  np.vdot(a, b)
  4.  np.product(a, b)