Как вернуть подпоследовательность переданной строки при помощи функции - генератора в python
я пытаюсь описать подобным способом
def all_variants(text):
for j in text:
yield j
a = all_variants("abc")
for i in a:
print(i)
в моем решении просто выходит a b c
, а нужно:
a
b
c
ab
bc
ABC
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
У вас в примере подстроки (непрерывные куски), а не подпоследовательности. Для подстрок:
def all_variants(text):
for l in range(len(text)):
for r in range(l,len(text)):
yield text[l:r+1]
или так, в том порядке, который у вас использован:
def all_variants(text):
for size in range(len(text)):
for l in range(len(text)-size):
yield text[l:l+size+1]