Mtro. Fernando Arciniega

Apoyame con un clic en los anuncios, me ayudas a seguir generando contenido de calidad. ¡Gracias por tu apoyo!

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages

Cómo Crear un Programa para Buscar la Palabra «Hola» en una Matriz en Python

Cómo Crear un Programa para Buscar la Palabra «Hola» en una Matriz en Python
Print Friendly, PDF & Email

En esta entrada de blog, te guiaré paso a paso en la creación de un programa en Python que busca la palabra «hola» dentro de una matriz (una lista de listas). Este programa es ideal para aquellos que desean practicar la manipulación de matrices y trabajar con cadenas de caracteres en Python.

Paso 1: Comprender el Problema

El objetivo de este programa es buscar la palabra «hola» de forma horizontal y vertical dentro de una matriz de letras. Además, también queremos identificar todas las posiciones en la matriz donde se encuentra la letra ‘h’.

Paso 2: Definir la Función buscar_hola

Primero, definimos nuestra función buscar_hola, que tomará como argumento una matriz. Esta función se encargará de realizar la búsqueda de la palabra «hola» en diferentes direcciones.

def buscar_hola(matriz):
    filas = len(matriz)  # Número de filas en la matriz
    columnas = len(matriz[0])  # Número de columnas en la matriz
    palabra = "hola"  # La palabra que queremos buscar
    len_palabra = len(palabra)  # Longitud de la palabra

Paso 3: Búsqueda Horizontal

Dentro de la función, el primer paso es buscar la palabra «hola» de forma horizontal, es decir, de izquierda a derecha en cada fila de la matriz.

    # Buscar horizontalmente
    for i in range(filas):
        for j in range(columnas - len_palabra + 1):
            # Comparar las letras consecutivas en la fila con la palabra "hola"
            if ''.join(matriz[i][j:j+len_palabra]) == palabra:
                print(f"Palabra '{palabra}' encontrada horizontalmente en la fila {i}, columna {j}")

Explicación:

  • Usamos dos bucles for: el primero recorre cada fila (i), y el segundo recorre las columnas dentro de cada fila (j).
  • La condición columnas - len_palabra + 1 asegura que no nos salgamos de los límites de la matriz.
  • La función ''.join(matriz[i][j:j+len_palabra]) une las letras desde la posición j hasta j+len_palabra en una cadena y la compara con «hola».

Paso 4: Búsqueda Vertical

Ahora, buscaremos la palabra «hola» de forma vertical, es decir, de arriba hacia abajo en cada columna.

    # Buscar verticalmente
    for i in range(filas - len_palabra + 1):
        for j in range(columnas):
            vertical_word = ''.join([matriz[i+k][j] for k in range(len_palabra)])
            if vertical_word == palabra:
                print(f"Palabra '{palabra}' encontrada verticalmente en la fila {i}, columna {j}")

Explicación:

  • Aquí, el bucle for externo recorre las filas, pero solo hasta filas - len_palabra + 1 para evitar salirnos de los límites.
  • El bucle interno recorre cada columna.
  • Usamos una lista de comprensión para construir la palabra vertical y la comparamos con «hola».

Paso 5: Búsqueda de la Letra ‘h’

Finalmente, queremos encontrar todas las posiciones donde aparece la letra ‘h’ en la matriz.

    # Buscar letras 'h'
    for i in range(filas):
        for j in range(columnas):
            if matriz[i][j] == 'h':
                print(f"Letra 'h' encontrada en la fila {i}, columna {j}")

Explicación:

  • Este es un simple recorrido de toda la matriz donde verificamos si la letra en cada posición es ‘h’.

Paso 6: Probar el Programa

Para probar nuestro programa, creamos una matriz de ejemplo y llamamos a la función buscar_hola.

matriz = [
    ['a', 'b', 'h', 'x', 'z'],
    ['c', 'q', 'o', 'r', 'y'],
    ['h', 'o', 'l', 'a', 'z'],
    ['q', 's', 'a', 'n', 'z'],
    ['l', 'k', 'q', 'x', 't'],
    ['h', 'j', 'k', 'n', 'z']
]

buscar_hola(matriz)

Al ejecutar este código, el programa debería imprimir las posiciones donde se encuentra la palabra «hola» de manera horizontal y vertical, así como las posiciones de cada letra ‘h’.


Este programa es un excelente ejercicio para trabajar con matrices y cadenas en Python. Nos permite practicar la iteración sobre listas, la manipulación de subcadenas y la comparación de cadenas. ¡Espero que te haya sido útil este tutorial!

def buscar_hola(matriz):
    filas = len(matriz)
    columnas = len(matriz[0])
    palabra = "hola"
    len_palabra = len(palabra)

    # Buscar horizontalmente
    for i in range(filas):
        for j in range(columnas - len_palabra + 1):
            if ''.join(matriz[i][j:j+len_palabra]) == palabra:
                print(f"Palabra '{palabra}' encontrada horizontalmente en la fila {i}, columna {j}")

    # Buscar verticalmente
    for i in range(filas - len_palabra + 1):
        for j in range(columnas):
            vertical_word = ''.join([matriz[i+k][j] for k in range(len_palabra)])
            if vertical_word == palabra:
                print(f"Palabra '{palabra}' encontrada verticalmente en la fila {i}, columna {j}")

    # Buscar letras 'h'
    for i in range(filas):
        for j in range(columnas):
            if matriz[i][j] == 'h':
                print(f"Letra 'h' encontrada en la fila {i}, columna {j}")

matriz = [
    ['a', 'b', 'h', 'x', 'z'],
    ['c', 'q', 'o', 'r', 'y'],
    ['h', 'o', 'l', 'a', 'z'],
    ['q', 's', 'a', 'n', 'z'],
    ['l', 'k', 'q', 'x', 't'],
    ['h', 'j', 'k', 'n', 'z']
]

buscar_hola(matriz)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.