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

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

Вариант 1052155137.


Ваше имя*:


Вопрос 1

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

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

Вопрос 2

В каких точках программы необходимо выполнять 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.  замок не нужен
  3.  1: Z.acquire(), 5: Z.release()
  4.  2: Z.acquire(), 4: Z.release()

Вопрос 3

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

  1.  s.split()
  2.  s.trim()
  3.  s.isspace()
  4.  s.strip()

Вопрос 4

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

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

Вопрос 5

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

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

Вопрос 6

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

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

Вопрос 7

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

S = "\n123\\"
  1.  6
  2.  4
  3.  5
  4.  3
  5.  сообщение об ошибке
  6.  7

Вопрос 8

С помощью функций какого модуля проще всего исследовать содержимое стека при обработке исключения в части except?

  1.  dis
  2.  traceback
  3.  inspect
  4.  tb

Вопрос 9

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

 
def A(lst):
  return lambda x: lst + [x]
 
def B(x):
  return lambda lst: lst + [x]
 
def C(x, cache={}):
  return cache.setdefault(x, lambda lst: lst + [x])
 
  1.  никакие
  2.  только B и C
  3.  только C
  4.  A, B, C

Вопрос 10

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

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