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

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

Вариант 230076763.


Ваше имя*:


Вопрос 1

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

 
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.  печатает 5 звездочек
  2.  аварийно завершается при попытке выполнить l.acquire() во второй раз
  3.  печатает 1 звездочку и зависает
  4.  печатает 25 звездочек
  5.  беспрерывно печатает звездочки

Вопрос 2

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

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

Вопрос 3

Сколько элементов будет содержать словарь D (то есть, чему будет равно len(D)) после выполнения следующего кода:

D = {}
D[1], D[2], D[3] = "ABB"
D[0], D[1] = "AB"
  1.  сообщение об ошибке
  2.  1
  3.  2
  4.  3
  5.  4

Вопрос 4

Карринг — это...

  1.  возврат объекта-функции из другой функции
  2.  получение новой функции на основе заданной функции, при котором часть аргументов получает значение
  3.  перенос параметров функции в ее результат
  4.  передача функции в другую функцию

Вопрос 5

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

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

Вопрос 6

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

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

Вопрос 7

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

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

Вопрос 8

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

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

Вопрос 9

Каким из приведенных ниже способов можно привести латинские символы строки s к нижнему регистру?

  1.  s.replace('A-Z', 'a-z')
  2.  s.islower()
  3.  s.tolower()
  4.  s.lower()

Вопрос 10

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

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