Si necesitas repasar algunos conceptos para resolverlo, estos videos pueden serte útiles:

▶️ Video: manejo de strings en Python

▶️ Video: bucles for

Click aquí para desplegar la solución. 👈
La respuesta correcta es la d.

✏️ Explicación: la función convierte la letra inicial de cada palabra a mayúscula, tomando como separador de palabras a los caracteres no alfabéticos. No convierte a minúsculas las demás letras, por lo que no es equivalente al método title() de Python.

Solución al desafío



Desafío Python 👇

desafío Python número 7

Click aquí para una versión accesible de la infografía (apta para lectores electrónicos)
 
def convertir(cadena):
    nueva = ""
    siguiente = True
    for caracter in cadena:
        if siguiente:
            caracter = caracter.upper()
        nueva += caracter
        siguiente = not caracter.isalpha()
    return nueva

¿Qué retorna la función ante la siguiente invocación?

convertir("**el desafío Python número: ¡7!**")

Opciones:

a. "**El desafío python número: ¡7!**"

b. "**EL DESAFÍO PYTHON NÚMERO: ¡7!**"

c. "El Desafío Python Número 7"

d. "**El Desafío Python Número: ¡7!**"