Я не могу полностью выполнить функцию

Привет, я очень смущен в этом, мне очень сложно сделать часть «мы закончили». Только когда я запустил код, результатом будет только ['Hooray', ' Finally']

 def split_on_separators(original, separators): """ (str, str) -> list of str Return a list of non-empty, non-blank strings from the original string determined by splitting the string on any of the separators. separators is a string of single-character separators. >>> split_on_separators("Hooray! Finally, we're done.", "!,") ['Hooray', ' Finally', " we're done."] """ #I can't make we're done . result = [] string='' for ch in original: if ch in separators: result.append(string) string='' if '' in result: result.remove('') else: string+char return result 

  • Установка фиксированной длины с помощью python
  • Base-2 (двоичное) представление с использованием Python
  • Преобразование списка в строку
  • Python эквивалент памяти PHP_get_usage ()?
  • Создание экземпляра класса с переменной в Python
  • Как получить интерактивный ввод от пользователя и использовать клавиши со стрелками при вводе ввода?
  • Расширение базовых классов в Python
  • Как правильно писать пути к файлу в Python
  • Общие подводные камни в Python
  • Установка pip на Mac OS дает разрешение на отказ: '/Library/Python/2.7/site-packages/pip
  • Python не интерпретирует измененные файлы, используя устаревший .pyc
  • разбивать список по условию в python
  • 2 Solutions collect form web for “Я не могу полностью выполнить функцию”

      def split_on_separators(original, separators): result = [] string='' for index,ch in enumerate(original): if ch in separators or index==len(original) -1: result.append(string) string='' if '' in result: result.remove('') else: string = string+ch return result res = split_on_separators("Hooray! Finally, we're done.", "!,") print(res) 

    В вашем решении вы проверяете только разделители. Поэтому, когда строка завершается, ничего не происходит, и последняя строка не добавляется. Вам также нужно проверить завершение строки.

    Также обратите внимание, что вы не добавляете текущий символ в строку, поэтому в последней строке есть «.». Может быть, это то, что вы хотите (выглядит как разделитель для меня;))

    Эта строка:

     string+char 

    что-то вычисляет, но не назначает.

    Попробуйте это вместо этого:

     string=string+char 

    Или вы можете сократить его, чтобы использовать += стенографию:

     string += char 

    Что эквивалентно вышеизложенному.

    Python - лучший язык программирования в мире.