Вы не авторизованы и не можете видеть весь контент сайта. Хотите авторизоваться?
Данный сайт использует куки. Это позволяет нам анализировать взаимодействие посетителей с сайтом и делать его лучше. Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie.
Вы можете установить этой сайт в виде иконки на рабочем столе
и использовать его как нативное приложение.
Хотите установить это веб-приложение?
Python для начинающих 034
<% normalizedTimer %>
Что выведет код?
```python
def gen():
for i in range(1, 5):
x = yield i
if x:
yield x**2
g = gen()
v = g.send(g.send(next(g) + next(g)) + next(g))
print(v)
```
Вопрос № 1(Верно)(Неверно)
Ответы:
1
3
4
9
16
81
121
144
StopIteration
None
Какое использование генераторного выражения будет некорректным?
Вопрос № 2(Верно)(Неверно)
Ответы:
```python
sorted(x ** 2 for x in range(4))
```
```python
sorted((x ** 2 for x in range(4)))
```
```python
sorted((x ** 2 for x in range(4)), reverse=True)
```
```python
sorted(x ** 2 for x in range(4), reverse=True)
```
```python
list(x ** 2 for x in range(4))
```
Что выведет код?
```python
import math
sum(map(math.sqrt, (x ** 2 for x in range(3))))
```
Вопрос № 3(Верно)(Неверно)
Ответы:
0.0
1.0
3.0
5.0
6.0
14.0
Что выведет код?
```python
g1 = (c * 2 for c in 'ABC')
def gen(m):
for c in m:
yield c * 2
g2 = gen('ABC')
list(g1) == list(g2)
```
Вопрос № 4(Верно)(Неверно)
Ответы:
True
False
TypeError
SyntaxError
Что выведет код?
```python
line = 'aaa bbb ccc d e f'
g1 = ''.join(x.upper() for x in line.split() if -len(x) < -1)
def gen(line):
for x in line.split():
if len(x) > 1:
yield x.upper()
g2 = ''.join(gen(line))
list(g1) == list(g2)
```
Вопрос № 5(Верно)(Неверно)
Ответы:
True
False
TypeError
Что выведет код?
```python
G = (с for с in '123')
I1 = iter(G)
I2 = iter(G)
_ = next(I1)
_ = next(I1)
print(next(I2))
```
Вопрос № 6(Верно)(Неверно)
Ответы:
1
2
3
123
123 123
123 123 123
None
StopIteration
Что выведет код?
```python
def gen(n):
for i in n:
yield i
g = gen('abcd')
l = len(list(g))
print(next(g), l)
```
Вопрос № 7(Верно)(Неверно)
Ответы:
'a' 4
'' 4
'a' 0
'' 0
'abcd' 0
'abcd' 4
StopIteration
TypeError
Что выведет код?
```python
def f(n):
yield from range(n)
yield from (x ** 2 for x in range(n))
res = ':'.join(str(i) for i in f(3))
print(res)
```
Вопрос № 8(Верно)(Неверно)
Ответы:
0:1:2
0:1:4
0:1:2:0:1:4
0:1:2:0:1:2
0:1:2:0:1:4
StopIteration
SyntaxError
Что выведет код?
```python
def gen():
yield 'so far so good'
try:
yield 'yay'
finally:
yield 'bye'
g = gen()
next(g)
next(g)
t = g.throw(GeneratorExit())
print(t)
```
Вопрос № 9(Верно)(Неверно)
Ответы:
so far so good
yay
bye
Что выведет код?
```python
def f(seq):
for i in range(len(seq)):
yield seq[i:] + seq[:i]
print((list(f('123'))))
```
Вопрос № 10(Верно)(Неверно)
Ответы:
['123', '231', '312']
['231', '312', '123']
['312', '123', '231']
['321', '213', '132']
Что выведет код?
```python
def f(seq):
for i in range(len(seq)):
seq = seq[1:] + seq[:1]
yield seq
print(''.join(list(f('xy'))))
```
Вопрос № 11(Верно)(Неверно)
Ответы:
xxyy
yyxx
xyyx
yxxy
yxyx
Что выведет код?
```python
def f(seq):
if not seq:
yield seq
else:
for i in range(len(seq)):
rest = seq[:i] + seq[i+1:]
for x in f(rest):
yield seq[i:i+1] + x
a = [*f(['a', 'b'])]
b = [*f(['a', 'b', 'c', 'd'])]
print(a, len(b))
```
Вопрос № 12(Верно)(Неверно)
Ответы:
['a', 'b'] 24
['b', 'a'] 24
[['a', 'b'], ['b', 'a']] 24
['a', 'b'] 6
['b', 'a'] 6
[['a', 'b'], ['b', 'a']] 6
['a', 'b'] 4
['b', 'a'] 4
[['a', 'b'], ['b', 'a']] 4
Что вызовет код?
```python
def f(*seqs):
seqs = [list(S) for S in seqs]
res = []
while all(seqs):
res.append(tuple(S.pop(0) for S in seqs))
return res
s1, s2 = 'abc', '12345'
print(list(zip(s1, s2)) == f(s1, s2))
```
Вопрос № 13(Верно)(Неверно)
Ответы:
True
False
TypeError
SyntaxError
Что вызовет код?
```python
def f(*seqs, pad=None):
seqs = [list(S) for S in seqs]
res = []
while any(seqs):
res.append(tuple((S.pop(0) if S else pad) for S in seqs))
return res
s1, s2 = 'abc', '12345'
print(list(zip(s1, s2)) == f(s1, s2))
```
Вопрос № 14(Верно)(Неверно)
Ответы:
True
False
TypeError
SyntaxError
Что выведет код?
```python
def f(*seqs):
seqs = [list(s) for s in seqs]
while all(seqs):
yield tuple(s.pop (0) for s in seqs)
s1, s2 = 'ab', '123'
print(list(f(s1, s2)))
```
Вопрос № 15(Верно)(Неверно)
Ответы:
[('a', '1')]
[('a', '1'), ('b', '2')]
[('b', '2'), ('a', '1')]
[('a', '1'), ('b', '2'), (None, '3')]
[(None, '3'), ('b', '2'), ('a', '1')]
Что выведет код?
```python
def f(*seqs, pad=None):
seqs = [list(S) for S in seqs]
while any(seqs):
yield tuple((S.pop(0) if S else pad) for S in seqs)
s1, s2 = '987', 'xy'
print(list(f(s1, s2)))
```
Вопрос № 16(Верно)(Неверно)
Ответы:
[('9', 'x'), ('8', 'y')]
[('9', 'x'), ('8', 'y'), ('7', None)]
[('8', 'y'), ('9', 'x')]
[('7', None), ('8', 'y'), ('9', 'x')]
Что выведет код?
```python
def f(*seqs):
minlen = min(len(s) for s in seqs)
return [tuple(s[i] for s in seqs) for i in range(minlen)]
s1, s2 = 'ab' , 'xyz'
print(f(s1, s2))
```
Вопрос № 17(Верно)(Неверно)
Ответы:
[('a', 'x'), ('b', 'y')]
[('a', 'x'), ('b', 'y'), (None, 'z')]
[('a', 'b'), ('x', 'y')]
[('a', 'b', None), ('x', 'y', 'z')]
Что выведет код?
```python
def f(*seqs, pad=None):
maxlen = max(len(S) for S in seqs)
index = range(maxlen)
return [tuple((S[i] if len(S) > i else pad) for S in seqs) for i in index]
s1, s2 = 'ab' , 'xyz'
print(f(s1, s2))
```