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

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

Вариант 2723678716.


Ваше имя*:


Вопрос 1

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

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

Вопрос 2

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

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

Вопрос 3

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

  1.  globs()
  2.  vars()
  3.  enumerate()

Вопрос 4

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

(0 < 5 <= 3) and (0 / 0)
  1.  True (или 1)
  2.  False (или 0)
  3.  синтаксическая ошибка
  4.  будет возбуждено исключение ZeroDivisionError (деление на нуль)
  5.  None

Вопрос 5

Может ли возникнуть 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.  нет, не возникнет

Вопрос 6

Имеются следующие определения:

 
def m1(self):
  print("m1")
 
class M:
  def m2(self):
    print("m2")
 
m = M()
 


Какой из фрагментов кода содержит ошибки?


  1.   m.m1 = m.m2; m.m1()
  2.   m.m1 = m1; m.m1()
  3.   M.m1 = m1; m.m1()
  4.   m.m1 = m1; m.m1(m)

Вопрос 7

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

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

Вопрос 8

Какие из приведенных ниже сравнений могут дать True, если объекты x и y имеют разные значения?

  1.  x == y
  2.  id(x) == id(y)
  3.  hash(x) == hash(y)
  4.  x is y

Вопрос 9

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

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

Вопрос 10

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

import threading
 
class PR(threading.Thread):
  def __init__(self, n):
    threading.Thread.__init__(self, name="t" + n)
    self.n = n
  def run(self):
    import time
    time.sleep(1)
    print("*", end='')
 
p1 = PR("1")
p2 = PR("2")
p1.start()
p2.start()


  1.  через секунду выводит звездочку, а затем через секунду — еще одну
  2.  выводит одну звездочку и завершается
  3.  выводит одну звездочку и зависает
  4.  выводит две звездочки спустя секунду после запуска