Что выведет код?
def collect(n, acc=[]):
acc.append(n)
if n == 0:
return acc
return collect(n - 1, acc)
print(collect(2), collect(1))
Выберите правильный вариант
Anonymous Quiz
48%
[2, 1, 0] [1, 0]
28%
[2, 1, 0] [2, 1, 0, 1, 0]
18%
[2, 1, 0, 1, 0] [2, 1, 0, 1, 0]
1%
[2, 1, 0, 1, 0] [1, 0]
3%
TypeError
1%
Посмотреть результаты
Что выведет код?
a = [10, 20, 30]
b = [1, 2]
for i, j in zip(enumerate(a), b):
print(i, j)
Выберите правильный вариант
Anonymous Quiz
8%
0 1 1 2
25%
(10, 1) (20, 2)
13%
(0, 1) (1, 2)
34%
(0, 10) 1 (1, 20) 2
6%
TypeError
14%
Посмотреть результаты
Что выведет код?
class Counter:
def __init__(self, start, stop):
self.current = start
self.stop = stop
def __iter__(self):
return self
def __next__(self):
if self.current >= self.stop:
raise StopIteration
result = self.current
self.current += 1
return result
c = Counter(3, 5)
print(list(c))
print(list(c))
Выберите правильный вариант
Anonymous Quiz
23%
[3, 4] [3, 4]
45%
[3, 4] []
9%
[] []
15%
[4, 5] [4, 5]
5%
TypeError
3%
Посмотреть результаты
Что выведет код?
def gen():
yield 1
yield 2
return 3
g = gen()
print(list(g))
Выберите правильный вариант
Anonymous Quiz
30%
[1, 2, 3]
19%
[3]
25%
[1, 2]
14%
StopIteration: 3
1%
[1, 2, None]
11%
Посмотреть результаты
Что выведет код?
def trace():
print("start")
yield 1
print("middle")
yield 2
print("end")
g = trace()
a = next(g)
b = next(g)
Выберите правильный вариант
Anonymous Quiz
36%
start, middle, end
28%
start, middle
32%
start, 1, middle, 2, end
1%
start, middle, 2
1%
start, middle, 2, end
Что выведет код?
gen = (x * 2 for x in range(3))
print(sum(gen) + sum(gen))
Выберите правильный вариант
Anonymous Quiz
6%
0
28%
6
49%
12
7%
TypeError
6%
RuntimeError
4%
Посмотреть результаты
Что выведет код?
outer = (x for x in range(3))
inner = (y * 10 for y in outer if y % 2 == 0)
print(list(inner))
print(list(outer))
Выберите правильный вариант
Anonymous Quiz
7%
[0, 20] [1]
6%
[0, 20, 10] [2]
41%
[0, 20] [0, 1, 2]
4%
[] [0, 1, 2]
39%
[0, 20] []
3%
Посмотреть результаты
Что выведет код?
def gen1():
yield from [1, 2]
yield 3
print(list(gen1()))
Выберите правильный вариант
Anonymous Quiz
37%
[1, 2, 3]
11%
[1, [2], 3]
24%
[[1, 2], 3]
14%
[1, 2]
4%
TypeError
9%
Посмотреть результаты
Что выведет код?
def sub():
yield 1
yield 2
def main():
yield 0
yield from sub()
yield 3
g = main()
print(next(g), next(g), next(g), next(g))
Выберите правильный вариант
Anonymous Quiz
9%
1 2 0 3
13%
0 1 2 StopIteration
13%
TypeError
9%
0 2 1 3
56%
0 1 2 3
0%
Посмотреть результаты