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

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

Вариант 445703366.


Ваше имя*:


Вопрос 1

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

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.  никакие
  2.  A, B, C
  3.  только B и C
  4.  только C

Вопрос 2

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

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.  выводит одну звездочку и зависает

Вопрос 3

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

 
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.  A, B, C
  2.  только B и C
  3.  никакие
  4.  только C

Вопрос 4

Что такое «os.environ»?

  1.  словарь переменных окружения
  2.  последовательность переменных окружения
  3.  системные константы Python
  4.  функция для получения переменных окружения

Вопрос 5

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

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

Вопрос 6

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

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

Вопрос 7

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

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

Вопрос 8

Начало определения функции «f» выглядит так:

def f(a, b, c=None, d="0"):

Какие из следующих вариантов вызова приведут к ошибке на этапе присваивания фактических параметров формальным?

  1.  «f(1, 2, d=3)»
  2.  «f(1, 2, 3, 4)»
  3.  «f(1, 2)»
  4.  «f(1, 2, d=3, c=4)»
  5.  «f(1, d=3)»

Вопрос 9

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

lst = []
 
def A(l, x):
  return lst + [x]
 
def B(l, x):
  lst.append(x)
  return lst
 
def C(l, x):
  return lst.count(x)


  1.  только A и B
  2.  только B
  3.  только B и C
  4.  никакие
  5.  A, B, C

Вопрос 10

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

L = []
L.extend([1,2,3])
L.insert(1, "abc")
del L[0][0]
  1.  3
  2.  2
  3.  1
  4.  сообщение об ошибке
  5.  4