Найти - Пользователи
Полная версия: помогите с решением задачи
Начало » Центр помощи » помогите с решением задачи
1
aleks0070
Написать ф-цию, которая принимает строку, и возвращает список строк, которые являются составными частями исходной строки, разделенными там, где стоит пробел. В полученных частях должны отсутствовать пробелы-разделители. Пустых строк в списке быть не должно. Пример:
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"))
но получается не то что нужно
izekia
split
aleks0070
izekia
split
сплит нельзя использовать по условиям задачи, нужно все написать через операции ветвления if /elif
izekia
 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)))
aleks0070
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)))
спасибо
py.user.next
  
>>> 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']
>>>
aleks0070
py.user.next
спасибо
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB