3 usuarios conectados

Tipos y estructuras de datos en Python. Cadenas. Ejercicios

Comparte esto

Ejercicio 1: Creación y Acceso

  1. Crea una variable llamada mensaje que contenga la cadena "Hola, mundo!".
  2. Accede al primer carácter de la cadena mensaje.
  3. Accede al último carácter de la cadena mensaje.
  4. Accede al carácter con índice 7 de la cadena mensaje.
  5. Utiliza slicing para obtener la subcadena "Hola".
  6. Utiliza slicing para obtener la subcadena "mundo".
  7. Utiliza slicing para obtener los caracteres desde el índice 2 hasta el 8 (inclusive).
  8. Utiliza slicing para obtener la cadena invertida.

Ejercicio 2: Métodos de Cadenas (Parte 1)

  1. Dada la cadena texto = "python es genial", utiliza el método upper() para convertirla a mayúsculas.
  2. Dada la cadena TEXTO = "PYTHON ES INCREÍBLE", utiliza el método lower() para convertirla a minúsculas.
  3. Dada la cadena frase = " espacios al principio y al final ", utiliza el método strip() para eliminar los espacios en blanco al principio y al final.
  4. Dada la cadena titulo = "mi primer programa", utiliza el método title() para convertirla a formato título.
  5. Dada la cadena pregunta = "¿cómo estás?", utiliza el método startswith() para verificar si comienza con "¿".
  6. Dada la cadena afirmacion = "sí, estoy bien.", utiliza el método endswith() para verificar si termina con ".".

Ejercicio 3: Métodos de Cadenas (Parte 2)

  1. Dada la cadena oracion = "Esta es una oración de ejemplo.", utiliza el método find() para encontrar la primera aparición de la palabra "una".
  2. Utiliza el método rfind() para encontrar la última aparición de la letra "a".
  3. Dada la cadena conteo = "banana", utiliza el método count() para contar cuántas veces aparece la letra "a".
  4. Dada la cadena reemplazo = "manzana verde", utiliza el método replace() para reemplazar "verde" con "roja".
  5. Dada la cadena elementos = "uno,dos,tres", utiliza el método split() para dividirla en una lista de cadenas utilizando la coma como separador.
  6. Dada la lista palabras = ["Hola", " ", "mundo", "!"], utiliza el método join() para unirla en una sola cadena.

Ejercicio 4: Formateo de Cadenas

  1. Utiliza f-strings para crear una cadena que diga "Mi nombre es [nombre] y tengo [edad] años", utilizando las variables nombre = "Carlos" y edad = 25.
  2. Utiliza el método format() para lograr el mismo resultado que en el ejercicio anterior.
  3. Utiliza f-strings para mostrar el valor de pi = 3.14159 con solo dos decimales.

Ejercicio 5: Verificación de Cadenas

  1. Dada la cadena alfanumerico = "Python3", utiliza el método isalnum() para verificar si es alfanumérica.
  2. Dada la cadena solo_letras = "Hola", utiliza el método isalpha() para verificar si solo contiene letras.
  3. Dada la cadena solo_digitos = "12345", utiliza el método isdigit() para verificar si solo contiene dígitos.
  4. Dada la cadena en_blanco = " \t\n ", utiliza el método isspace() para verificar si solo contiene caracteres de espacio en blanco.


Mostrar/Ocultar ejercicios resueltos


Ejercicio 1: Creación y Acceso

mensaje = "Hola, mundo!"

# 1. Accede al primer carácter de la cadena mensaje.
primer_caracter = mensaje[0]
print(f"Primer carácter: {primer_caracter}")

# 2. Accede al último carácter de la cadena mensaje.
ultimo_caracter = mensaje[-1]
print(f"Último carácter: {ultimo_caracter}")

# 3. Accede al carácter con índice 7 de la cadena mensaje.
caracter_indice_7 = mensaje[7]
print(f"Carácter en índice 7: {caracter_indice_7}")

# 4. Utiliza slicing para obtener la subcadena "Hola".
subcadena_hola = mensaje[0:4] # También se puede escribir como mensaje[:4]
print(f"Subcadena 'Hola': {subcadena_hola}")

# 5. Utiliza slicing para obtener la subcadena "mundo".
subcadena_mundo = mensaje[7:12] # También se puede escribir como mensaje[7:]
print(f"Subcadena 'mundo': {subcadena_mundo}")

# 6. Utiliza slicing para obtener los caracteres desde el índice 2 hasta el 8 (inclusive).
subcadena_2_a_8 = mensaje[2:9]
print(f"Subcadena desde índice 2 hasta 8: {subcadena_2_a_8}")

# 7. Utiliza slicing para obtener la cadena invertida.
cadena_invertida = mensaje[::-1]
print(f"Cadena invertida: {cadena_invertida}")

 

Ejercicio 2: Métodos de Cadenas (Parte 1)

texto = "python es genial"

# 1. Utiliza el método upper() para convertirla a mayúsculas.
texto_mayusculas = texto.upper()
print(f"Texto en mayúsculas: {texto_mayusculas}")

TEXTO = "PYTHON ES INCREÍBLE"

# 2. Utiliza el método lower() para convertirla a minúsculas.
texto_minusculas = TEXTO.lower()
print(f"Texto en minúsculas: {texto_minusculas}")

frase = " espacios al principio y al final "

# 3. Utiliza el método strip() para eliminar los espacios en blanco al principio y al final.
frase_sin_espacios = frase.strip()
print(f"Frase sin espacios: '{frase_sin_espacios}'")

titulo = "mi primer programa"

# 4. Utiliza el método title() para convertirla a formato título.
titulo_formateado = titulo.title()
print(f"Título formateado: {titulo_formateado}")

pregunta = "¿cómo estás?"

# 5. Utiliza el método startswith() para verificar si comienza con "¿".
comienza_con_pregunta = pregunta.startswith("¿")
print(f"¿Comienza con '¿'?: {comienza_con_pregunta}")

afirmacion = "sí, estoy bien."

# 6. Utiliza el método endswith() para verificar si termina con ".".
termina_con_punto = afirmacion.endswith(".")
print(f"¿Termina con '.'?: {termina_con_punto}")


Ejercicio 3: Métodos de Cadenas (Parte 2)

oracion = "Esta es una oración de ejemplo."

# 1. Utiliza el método find() para encontrar la primera aparición de la palabra "una".
indice_una = oracion.find("una")
print(f"Índice de la primera aparición de 'una': {indice_una}")

# 2. Utiliza el método rfind() para encontrar la última aparición de la letra "a".
indice_ultima_a = oracion.rfind("a")
print(f"Índice de la última aparición de 'a': {indice_ultima_a}")

conteo = "banana"

# 3. Utiliza el método count() para contar cuántas veces aparece la letra "a".
cantidad_a = conteo.count("a")
print(f"Cantidad de veces que aparece 'a': {cantidad_a}")

reemplazo = "manzana verde"

# 4. Utiliza el método replace() para reemplazar "verde" con "roja".
nueva_cadena = reemplazo.replace("verde", "roja")
print(f"Cadena después del reemplazo: {nueva_cadena}")

elementos = "uno,dos,tres"

# 5. Utiliza el método split() para dividirla en una lista de cadenas utilizando la coma como separador.
lista_elementos = elementos.split(",")
print(f"Lista de elementos: {lista_elementos}")

palabras = ["Hola", " ", "mundo", "!"]

# 6. Utiliza el método join() para unirlas en una sola cadena.
cadena_unida = "".join(palabras) # Une sin separador
print(f"Cadena unida (sin separador): '{cadena_unida}'")

cadena_unida_espacio = "".join(palabras[:2]) + "".join(palabras[2:]) # Une "Hola " y "mundo!"
print(f"Cadena unida (con espacio): '{cadena_unida_espacio}'")

cadena_unida_separador = "".join(palabras)
print(f"Cadena unida (con separador implícito): '{cadena_unida_separador}'")

cadena_unida_vacio = "".join(palabras)
print(f"Cadena unida (vacío): '{cadena_unida_vacio}'")

cadena_unida_guion = "-".join(palabras) # Une con guion (ejemplo)
print(f"Cadena unida (con guion): '{cadena_unida_guion}'")


Ejercicio 4: Formateo de Cadenas

nombre = "Carlos"
edad = 25
pi = 3.14159

# 1. Utiliza f-strings para crear una cadena que diga "Mi nombre es [nombre] y tengo [edad] años".
cadena_fstring = f"Mi nombre es {nombre} y tengo {edad} años"
print(cadena_fstring)

# 2. Utiliza el método format() para lograr el mismo resultado que en el ejercicio anterior.
cadena_format = "Mi nombre es {} y tengo {} años".format(nombre, edad)
print(cadena_format)

# También se puede usar con índices:
cadena_format_indices = "Mi nombre es {0} y tengo {1} años".format(nombre, edad)
print(cadena_format_indices)

# O con nombres de clave (si los argumentos se pasan como un diccionario):
cadena_format_claves = "Mi nombre es {nombre_persona} y tengo {edad_persona} años".format(nombre_persona=nombre, edad_persona=edad)
print(cadena_format_claves)

# 3. Utiliza f-strings para mostrar el valor de pi con solo dos decimales.
cadena_pi = f"El valor de pi con dos decimales es: {pi:.2f}"
print(cadena_pi)
 

Ejercicio 5: Verificación de Cadenas

alfanumerico = "Python3"
solo_letras = "Hola"
solo_digitos = "12345"
en_blanco = " \t\n "
mixta = "Hola123"

# 1. Dada la cadena alfanumerico = "Python3", utiliza el método isalnum() para verificar si es alfanumérica.
es_alfanumerico = alfanumerico.isalnum()
print(f"'{alfanumerico}' ¿es alfanumérico?: {es_alfanumerico}")

# 2. Dada la cadena solo_letras = "Hola", utiliza el método isalpha() para verificar si solo contiene letras.
es_solo_letras = solo_letras.isalpha()
print(f"'{solo_letras}' ¿solo contiene letras?: {es_solo_letras}")

# 3. Dada la cadena solo_digitos = "12345", utiliza el método isdigit() para verificar si solo contiene dígitos.
es_solo_digitos = solo_digitos.isdigit()
print(f"'{solo_digitos}' ¿solo contiene dígitos?: {es_solo_digitos}")

# 4. Dada la cadena en_blanco = " \t\n ", utiliza el método isspace() para verificar si solo contiene caracteres de espacio en blanco.
es_solo_espacio = en_blanco.isspace()
print(f"'{en_blanco}' ¿solo contiene espacios en blanco?: {es_solo_espacio}")

# Ejemplo adicional para entender mejor isalnum, isalpha e isdigit
es_mixta_alfanumerico = mixta.isalnum()
print(f"'{mixta}' ¿es alfanumérico?: {es_mixta_alfanumerico}")

es_mixta_solo_letras = mixta.isalpha()
print(f"'{mixta}' ¿solo contiene letras?: {es_mixta_solo_letras}")

es_mixta_solo_digitos = mixta.isdigit()
print(f"'{mixta}' ¿solo contiene dígitos?: {es_mixta_solo_digitos}")