Вариант 1894331332.
Что делает следующая программа?
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()
В каких точках программы необходимо выполнять acquire() и release() замка Z, чтобы функция f могла правильно работать в многопоточном приложении? (Как обычно, нужно минимизировать общее время, на которое запирается замок)
def f(x, y, z): global d1, d2 # 1 d1[(x, y)] = z # 2 d2[z] = (x, y) # 3 res = len(d2) # 4 return res
Какие методы необходимо иметь x для задания следующих действий:
>>> x = X(0) >>> print x + 10 10 >>> print x - 23 -23 >>> print x >> 2 0
Какие из перечисленных функций имеют побочные эффекты:
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)
import os global v v = 0 def A(x, y): return abs(x + y) B = lambda k, v: os.environ.setdefault(k, v) def C(x): global v v = v + 1 return v + x
Даны матрицы a и b.
import numpy as np …
Как получить произведение матриц?
Сколько элементов будет содержать список, полученный в следующем списковом включении:
[x for x in itertools.takewhile(lambda x: x < 23, itertools.count(10))]
Какими способами можно получить доступ к функции «fun()» из модуля «fns»?
Сколько элементов будет содержать словарь D (то есть, чему будет равно len(D)) после выполнения следующего кода:
D = {} D[1], D[2], D[3] = "ABB" D[0], D[1] = "AB"
Что будет выведено в результате выполнения сопоставления с регулярным выражением?
import re m = re.match("(?P<a>A*?)(?:B+)(?P<b>B+?)(?P<c>C??)", "AAAABBBBC") print(m.groupdict())