Limpar uma sequência sem funções de divisão / faixa / incorporadas

Meus requisitos

Use Python para criar uma funçãocleanstring(S) para "limpar" os espaços em uma fraseS.

A frase pode ter espaços extras na frente e / ou no final e / ou entre as palavra A sub-rotina retorna uma nova versão da sentença sem os espaços extra Ou seja, na nova sequência, as palavras devem ser as mesmas, mas não deve haver espaços no início, apenas um espaço entre cada palavra e nenhum espaço no fina

Este programa é sobre você escrever código para pesquisar uma string para encontrar palavras e, portanto, você não tem permissão para usar a função de divisão no Pytho

Você pode resolver esse problema com os recursos básicos das instruções if e while e das operações de string de len e concatentatio

Por exemplo: se a entrada for: "Olá para o mundo!" então a saída deve ser: "Olá ao mundo!"

Questã

Meu programa exclui mais caracteres do que o necessári

Input: "Olá, mundo!"

Saída: "HellWorl"

Como corrigir o erro no meu programa?

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]) 

questionAnswers(3)

yourAnswerToTheQuestion