Python Tasks & ML | Задачи по питону и машинному обучению
8.88K subscribers
30 photos
1 video
1 file
41 links
Algorithms, functions, classes, regular expressions, iterators, generators, OOP, exceptions, NumPy, pandas, scikit-learn
https://telega.in/c/python_tasks

Questions — @dina_ladnyuk
Download Telegram
Что выведет код?

def outer(msg):
def dec(func):
def wrapper(*args):
print(msg, end=" ")
return func(*args)
return wrapper
return dec

@outer("hello")
@outer("bye")
def f(x):
print(x)

f("!")
Что выведет код?

import time

def timer(func):
def wrapper():
start = time.time()
func()
end = time.time()
print("Elapsed:", round(end - start, 2), end=" ")
return wrapper

@timer
def f():
time.sleep(0.1)
print("f done", end=" ")

f()
Что выведет код?

class dec:
def __init__(self, func):
self.func = func
print("init", end=" ")

def __call__(self):
print("before", end=" ")
self.func()
print("after", end=" ")

@dec
def f():
print("f called", end=" ")

f()
Что выведет код?

def debug(enabled=True):
def decorator(func):
def wrapper(*args, **kwargs):
if enabled:
print("DEBUG:", func.__name__)
return func(*args, **kwargs)
return wrapper
return decorator

@debug(enabled=False)
def f():
print("running f")

f()
Что выведет код?

def gen():
yield 1
yield 2
return 3

g = gen()
try:
while True:
print(next(g), end =" ")
except StopIteration as e:
print("Returned:", e.value)
Что выведет код?

def repeater(val):
while True:
new = yield val
if new:
val = new

g = repeater(10)
print(next(g), end =" ")
print(g.send(20), end =" ")
print(next(g), end =" ")
Что выведет код?

class MyRange:
def __init__(self, n):
self.n = n
self.i = 0
def __iter__(self):
return self
def __next__(self):
if self.i >= self.n:
raise StopIteration
self.i += 1
return self.i

print(list(MyRange(3)))
Что выведет код?

def counter():
i = 0
while i < 3:
yield i
i += 1
else:
yield 'done'

print(list(counter()))
Что выведет код?

def tricky():
yield from range(2)
yield from "ab"

print(list(tricky()))