Ejercicios Prácticos de Manipulación de Cadenas en Python
Clasificado en Informática
Escrito el en
español con un tamaño de 3,72 KB
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=1e=2i=3o=4u=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: ")