Ejercicios de manipulación de cadenas en Python: reemplazo, inversión y validación

InformáticaActualizado el 3,72 KB

Resumen

El documento presenta tres ejercicios resueltos de procesamiento de cadenas de texto en Python: reemplazar saltos de línea por espacios y añadir un punto final, invertir una cadena sustituyendo vocales por números y validar consultas de usuario según su longitud y la presencia de signos de interrogación. Cada ejercicio incluye el requerimiento, un ejemplo y una implementación propuesta.

Puntos clave

  • Un salto de línea ("\n") es un único carácter y puede reemplazarse por un espacio recorriendo la cadena carácter a carácter.
  • En la inversión con sustitución, las vocales a, e, i, o, u se cambian por 1, 2, 3, 4, 5 respectivamente.
  • Construir la cadena invertida anteponiendo cada nuevo carácter (cadnew = char + cadnew) produce el orden inverso.
  • La validación de consultas rechaza una entrada si contiene "?" o si tiene menos de 20 caracteres.
  • El bucle de consultas termina cuando el usuario introduce un asterisco ("*").

Ponte a prueba

Ejercicios de Procesamiento de Cadenas

A continuación, se presentan soluciones corregidas y optimizadas para varios problemas de manipulación de cadenas de texto.


Ejercicio 1: Reemplazo de Saltos de Línea y Adición de Punto Final

Descripción del Requerimiento

Dada una cadena con saltos de línea ("\n"), hacer que estos sean reemplazados por un espacio en blanco. Además, se deberá agregar un punto final a la cadena resultante.

Ejemplo Ilustrativo

  • Ej.: "me\nllamo\njuan", deberá quedar "me llamo juan."

Recordar que \n es un solo carácter.

Implementación Propuesta (Python)


cadena="me\nllamo\njuan"
cadnew=""

for char in cadena:
    if char=="\n":
        cadnew=cadnew+" "
    else:
        cadnew=cadnew+char

print cadnew+"."

Ejercicio 2: Inversión de Cadena con Sustitución de Vocales

Descripción del Requerimiento

Realizar un programa que, dada una cadena de solo consonantes y vocales cualesquiera, genere e imprima una nueva cadena invertida cambiando las vocales por los siguientes caracteres:

  • a = 1
  • e = 2
  • i = 3
  • o = 4
  • u = 5

Ejemplo de Transformación

Por ejemplo, la cadena "vamos a realizar este ejercicio" va a generar una nueva cadena invertida como: "43c3cr2j2 2es2 r1z3112r1 s4m1v" (resultado de cambiar las vocales por los valores propuestos e invertirla).

Implementación Propuesta (Python)


cadena=input("Ingrese la cadena: ")
cadnew=""

for char in cadena:
    # Se construye la cadena invertida añadiendo el nuevo carácter al inicio (cadnew=nuevo_char + cadnew)
    if char=="a":
        cadnew="1"+cadnew
    else:
        if char=="e":
            cadnew="2"+cadnew
        else:
            if char=="i":
                cadnew="3"+cadnew
            else:
                if char=="o":
                    cadnew="4"+cadnew
                else:
                    if char=="u":
                        cadnew="5"+cadnew
                    else:
                        # Si es consonante o cualquier otro carácter, se añade tal cual
                        cadnew=char+cadnew

print "Cadena Original:", cadena
print "Cadena Transformada e Invertida:", cadnew

Ejercicio 3: Validación de Consultas de Usuario

Descripción del Requerimiento

Solicitar al usuario cadenas de caracteres mostrando la leyenda "Haga su consulta o pulse * y luego Enter". Mientras la cadena ingresada no sea un asterisco ("*"), debe realizar una iteración en la que verifica si hay algún signo de interrogación ("?") en la cadena. Si hay algún "?" o la cadena tiene menos de 20 caracteres, debe mostrar el mensaje: "No podemos responder esa pregunta en este momento".

Implementación Propuesta (Python)


cadena=input("Haga su consulta o pulse * y luego Enter: ")

while cadena!="*":
    # Verificación de condiciones
    tiene_interrogacion = False
    for char in cadena:
        if char=="?":
            tiene_interrogacion = True
            break # Optimización: salir del bucle si se encuentra el '?'

    if tiene_interrogacion or len(cadena) < 20:
        print "No podemos responder esa pregunta en este momento"
    else:
        print cadena # Imprime la cadena si cumple los requisitos

    # Solicitar la siguiente entrada
    cadena=input("Haga su consulta o pulse * y luego Enter: ")

Descargar

PDF Word HTML

Preguntas frecuentes

¿Cómo se reemplaza un salto de línea por un espacio en Python?

Se recorre la cadena con un bucle for y, si el carácter es "\n", se añade un espacio en lugar de él; los demás caracteres se copian tal cual. Al final se añade el punto final.

¿Cómo se invierte una cadena cambiando las vocales por números?

Se recorre la cadena y, por cada carácter, se sustituye la vocal por su valor numérico (a=1, e=2, i=3, o=4, u=5) y se antepone el resultado a la cadena acumulada, lo que la invierte.

¿Cuándo debe rechazarse una consulta en el ejercicio de validación?

Debe rechazarse si contiene un signo de interrogación ("?") o si tiene menos de 20 caracteres, mostrando el mensaje "No podemos responder esa pregunta en este momento".

Ponte a prueba

Tarjetas de repaso

Pulsa una tarjeta para ver la respuesta.

Test

1. Según el ejercicio 1, ¿qué resultado se obtiene al procesar la cadena "me\nllamo\njuan"?
2. En el ejercicio 2, ¿por qué valor se sustituye la vocal "i"?
3. ¿Qué técnica usa el ejercicio 2 para invertir la cadena?
4. En el ejercicio 3, ¿cuándo se muestra el mensaje "No podemos responder esa pregunta en este momento"?
5. ¿Qué ocurre en el ejercicio 3 cuando el usuario escribe "*"?

Preguntas generadas con IA a partir del documento: comprueba las respuestas con el texto.