В вашем коде несколько проблем.
if " " in self.x:
не требуется.Просто разделите ваш ввод, если нет пробелов, он вернет list
с одним element
- Нет необходимости передавать
sep=" "
в split
, это поведение по умолчанию - Дублирующий код: как только вы сделаете выше двух, вам не понадобится цикл
if-else
.Сначала split
, self.x
, а затем for
loop on y
.
Относительно того, почему он не работает для нескольких входов, это, вероятно, связано с:
TextString = self.HighLight(self.z,TextString,RepX)
В else
вы не сохраняете значение return
из этого, но можете точно сказать, только если покажете нам, что делает self.HighLight
.
Обновление:
Вы проверяете self.z in TextString:
в цикле if
, тогда как в else
ваш чек self.x in TextString
.self.z
- это строка empty
.это намеренно?Почему у вас нет одинакового чека в обоих случаях?Что касается вашего вопроса, вы ожидаете, что ваш код будет иметь одинаковое поведение, когда пользователь вводит несколько входов, в этом случае у вас должна быть одинаковая логика для обоих случаев.
Следовательно, мое первое предложение удалить дублирующийся код.