Limpieza de una cadena sin división / franja / funciones integradas

Mis requisitos

Utilice Python para crear una funcióncleanstring(S) para "limpiar" los espacios en una oraciónS.

a oración puede tener espacios adicionales al frente y / o al final y / o entre palabras.a subrutina devuelve una nueva versión de la oración sin espacios adicionales.s decir, en la nueva cadena, las palabras deben ser las mismas, pero no debe haber espacios al principio, solo un espacio entre cada palabra y ningún espacio al final.

Este programa se trata de escribir código para buscar a través de una cadena para encontrar palabras y, por lo tanto, no está permitido usar la función de división en Python.

uede resolver este problema con las capacidades básicas de las instrucciones if y while y las operaciones de cadena de len y concatenación.

Por ejemplo: si la entrada es: "¡Hola al mundo!" entonces la salida debería ser: "¡Hola al mundo!"

Pregunt

Mi programa elimina más caracteres del programa de los necesarios.

Input: "¡Hola, mundo!"

Output: "HellWorl"

¿Cómo soluciono el error en mi 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]) 

Respuestas a la pregunta(3)

Su respuesta a la pregunta