f(“abc a b”) возвращает
f(“zz zz”) возвращает
пытался вот так
def f(s): r = [] for i in s: if i != " ": r.append(i) return r print(f("abc a b"))
def f(s): r = [] for i in s: if i != " ": r.append(i) return r print(f("abc a b"))
izekiaсплит нельзя использовать по условиям задачи, нужно все написать через операции ветвления if /elif
split
def split_str(s): start = 0 for i, l in enumerate(s): if l == ' ': if i > start: yield s[start:i] start = i + 1 if i >= start: yield s[start:] s = 'Вот с ифами и ветвлением' print(list(split_str(s)))
izekiaспасибо
def split_str(s):
start = 0
for i, l in enumerate(s):
if l == ‘ ’:
if i > start:
yield s
start = i + 1
if i >= start:
yield s
s = ‘Вот с ифами и ветвлением’
print(list(split_str(s)))
>>> def f(s): ... out = [] ... word = '' ... for c in s: ... if c == ' ': ... if word: ... out.append(word) ... word = '' ... else: ... word += c ... if word: ... out.append(word) ... return out ... >>> print(f(' abc a b ')) ['abc', 'a', 'b'] >>>
py.user.nextспасибо