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

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

Вариант 2740557289.


Ваше имя*:


Вопрос 1

Какие встроенные функции служат для создания объектов определенного типа (конструкторы классов/функции-фабрики…)?

  1.  tuple()
  2.  isinstance()
  3.  chr()

Вопрос 2

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

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

Вопрос 3

Что делает следующая программа?

 
import threading
l = threading.RLock()
 
def proc(nm, n=0):
  l.acquire()
  try:
    if n < 5:
      print("*", end='')
      return proc(nm, n+1)
    else:
      return nm
  finally:
    l.release() 
 
for i in range(5):
  threading.Thread(target=proc, args=(str(i),)).start()
  1.  печатает 25 звездочек
  2.  печатает 1 звездочку и зависает
  3.  аварийно завершается при попытке выполнить l.acquire() во второй раз
  4.  печатает 5 звездочек
  5.  беспрерывно печатает звездочки

Вопрос 4

Что делает следующая программа?

 
import threading
ready = threading.Event()
 
def proc():
  ready.wait()
  print("Done!")
 
for i in range(5):
  p = threading.Thread(target=proc)
  p.start()
 
print("Prepare!")
ready.set()
 
  1.  программа запускает пять дополнительных потоков, печатающих "Done!" после выполнения ready.set(), то есть, после печати "Prepare!"
  2.  программа запускает пять дополнительных потоков, один из которых печатает "Done!" после выполнения ready.set(), а остальные ждут следующего ready.set()
  3.  программа запускает пять дополнительных потоков, печатающих "Done!" одновременно
  4.  программа создает пять дополнительных потоков, которые запускаются после выполнения ready.set() в главном потоке

Вопрос 5

С помощью какой функции можно организовать цикл с параметром («for»)?

  1.  reload()
  2.  xrange()
  3.  id()
  4.  range()

Вопрос 6

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

 
import numpy as np
…
 

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


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

Вопрос 7

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

S = 0
for i in range(1, 10):
  if i % 2 == 0:
    S = S + i 
print(S)


  1.  сообщение об ошибке
  2.  20
  3.  0
  4.  1024
  5.  30
  6.  10

Вопрос 8

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

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

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

Вопрос 9

Какими способами можно получить доступ к функции «fun()» из модуля «fns»?

  1.  from fns import fun; fun()
  2.  import fns.fun as fun; fun()
  3.  import fns.fun; fns.fun()

Вопрос 10

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

 
import numpy as np
…
 

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


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