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

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

Вариант 1805157168.


Ваше имя*:


Вопрос 1

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

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

Вопрос 2

Может ли возникнуть deadlock в следующей программе:

import threading
 
res_A = threading.Lock()
res_B = threading.Lock()
res_C = threading.Lock()
 
def proc1():
   res_A.acquire(); res_B.acquire(); res_C.acquire()
   # ...
   res_B.release(); res_C.release(); res_A.release()
 
def proc2():
   res_A.acquire(); res_B.acquire(); res_C.acquire()
   # ...
   res_C.release(); res_B.release(); res_A.release()
 
def proc3():
   res_A.acquire(); res_B.acquire(); res_C.acquire()
   # ...
   res_A.release(); res_B.release(); res_C.release()
 
p1 = threading.Thread(target=proc1, name="t1")
p2 = threading.Thread(target=proc2, name="t2")
p3 = threading.Thread(target=proc3, name="t3")
p1.start(); p2.start(); p3.start()
p1.join(); p2.join(); p3.join();
 


  1.  да, обязательно
  2.  нет, не возникнет
  3.  да, возможно

Вопрос 3

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

[ " "]
  1.  array (массив)
  2.  tuple (кортеж)
  3.  это синтаксическая ошибка
  4.  list (список)
  5.  str (строка)

Вопрос 4

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

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

Вопрос 5

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

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

Вопрос 6

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

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

Вопрос 7

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

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

Вопрос 8

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

S = 0
for i in range(1, 10):
  for j in range(1, 3):
    if i == j:
      S = S + i + j
      break
print(S)
  1.  2
  2.  сообщение об ошибке
  3.  0
  4.  12
  5.  6

Вопрос 9

Что можно узнать с помощью регулярного выражения r'([01]+)\1\1'?

  1.  наличие в строке нулей и единиц
  2.  троекратное повторение одной и той же строки из нулей и единиц подряд
  3.  троекратное повторение одной и той же строки из нулей и единиц, возможно, не подряд
  4.  наличие в строке нулей, единиц и обратной косой черты

Вопрос 10

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

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