Мой подход состоял бы в том, чтобы оставить последний доступный символ и принять решение, является ли он пробелом или нет:
ребования
Используйте Python для создания функцииcleanstring(S)
«очистить» пробелы в предложенииS
.
Эта программа о том, что вы пишете код для поиска по строке, чтобы найти слова, и поэтому вам не разрешено использовать функцию split в Python.
Вы можете решить эту проблему с помощью базовых возможностей операторов if и while и строковых операций len и конкатенации.
Например: если ввод: «Привет миру!» тогда вывод должен быть: "Привет миру!"
Вопрос
Моя программа удаляет больше символов в программе, чем необходимо.
Вход: "Привет, мир!"
Выход: «Адский мир»
Как я могу исправить ошибку в моей программе?
def cleanupstring (S):
newstring = ["", 0]
j = 1
for i in range(len(S) - 1):
if S[i] != " " and S[i+1] != " ":
newstring[0] = newstring[0] + S[i]
else:
newstring[1] = newstring [1] + 1
return newstring
# main program
sentence = input("Enter a string: ")
outputList = cleanupstring(sentence)
print("A total of", outputList[1], "characters have been removed from your
string.")
print("The new string is:", outputList[0])