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}")