Я хочу создать свою собственную функцию «взрыва», но у меня есть некоторые проблемы

#python #explode

#python #взорваться

Вопрос:

Я хочу создать свою собственную функцию взрыва без использования встроенной функции.

Я сделал

 def exp_ (a)

  out_ = []

  if out is None:
     out_ = []
  out.append(str[:1])

  if len_(str) > 1:
    explode(a[1:])
  return 
  

поместите exp_("hello")

затем мой вывод ['h']

Я хочу ['h','e','l','l','o']

без использования append . (Я уже создаю функцию len, так что не беспокойтесь об этом)

Комментарии:

1. Перед компиляцией вашего кода возникает около 5 ошибок с опечатками, между неправильным наименованием функции и неправильным наименованием параметра

2. этот код полон синтаксических ошибок. вы смешиваете out и out_ , а str[:1] должен быть [:1] . ваш рекурсивный вызов функции должен быть exp_ вместо explode . Невозможно, чтобы этот код выдавал вам вывод [‘h’]

Ответ №1:

Вам нужно extend сделать это при следующем вызове метода.

 def exp_(a):
    if a is None:
        return []
    out_ = [a[:1]]
    if len(a) > 1:
        out_.extend(exp_(a[1:]))
    return out_
  

Обратите внимание, если это не только для целей обучения, вам действительно не следует этого делать; не изобретайте существующий код, потому что ваш explode просто list(a) .