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

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

Вариант 3471383875.


Ваше имя*:


Вопрос 1

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

 
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!" одновременно
  2.  программа запускает пять дополнительных потоков, один из которых печатает "Done!" после выполнения ready.set(), а остальные ждут следующего ready.set()
  3.  программа запускает пять дополнительных потоков, печатающих "Done!" после выполнения ready.set(), то есть, после печати "Prepare!"
  4.  программа создает пять дополнительных потоков, которые запускаются после выполнения ready.set() в главном потоке

Вопрос 2

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

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

Вопрос 3

Какое множество строк описывает регулярное выражение «[ac][ab]»?

  1.  "aa", "ab", "ba", "bb", "ca", "cb"
  2.  "[ac][ab]"
  3.  "ac", "ab"
  4.  "aa", "ab", "ca", "cb"

Вопрос 4

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

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

Вопрос 5

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

def f(x):
  # 1
  fc = open("file.txt", "w+")
  # 2
  fc.write(x)
  # 3
  fc.write("\n")
  # 4
  fc.close()
  # 5


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

Вопрос 6

Дан массив:

>>>c = array([[1,2], [2,3], [4,5]])

Чему равен срез c[:,1]?

  1.  array([1, 2])
  2.  array([2, 3])
  3.  array([1, 2, 4])
  4.  array([2, 3, 5])

Вопрос 7

Какую роль играет xx в следующей Python-программе

 
class M(object):
  def xx(self):
    print "self:", self
 
  1.  метод класса
  2.  метафункция
  3.  статистический метод
  4.  функция-фабрика

Вопрос 8

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

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

Вопрос 9

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

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

Вопрос 10

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

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