Congruencia de Zeller en Python

En este post veremos cómo resolver o implementar la congruencia de Zeller en Python, que no es otra cosa más que resolver una fórmula.

Por si no lo sabes, la congruencia de Zeller permite calcular qué día de la semana es (de domingo a sábado) a partir del año, mes y día.

Además de esa función que obtiene el número de día de la semana (0 para domingo, 6 para sábado) vamos a implementar otra función que dice el nombre del día con letra.

(más…)

Python: ejercicio resuelto, buscar palabras en archivo de texto

En este post voy a resolver un ejercicio con Python. Dicho ejercicio dice así:

Usted esta trabajando con el equipo encargado de la integración de el nuevo CLI de un sistema operativo. En este momento usted se dedica a hacer pruebas para manipular archivos de texto, por lo que le asignan la siguiente tarea:

Debe realizar un programa que lea del usuario una palabra. Luego, vaya a buscar esta palabra en un archivo de texto llamado input.txt. En esta busqueda su programa debe hacer lo siguiente:

Contar cuantas ocurrencias de la palabra hay en el archivo de texto (despues de haber leido todo su contenido) y desplegar en pantalla esa cantidad.
Crear otro archivo llamado llamado result.txt, el cual contenga solamente las lineas en donde se encuentra la palabra buscada, desplegando al principio de la linea, su numero linea. Es decir que si fuera la primera linea, el numero es 1, si es la tercera el numero es 3, etc.
Ejemplo:

input.txt

Este es un archivo de prueba, para
ver si nuestro buscador funciona
de no ser asi, tendremos que hacer
mas pruebas y decidir que hacer.
Palabra a buscar: de
Ocurrencias: 2

result.txt

1 – Este es un archivo de prueba, para
3 – de no ser asi, tendremos que hacer

Básicamente se trata de recorrer el archivo, buscar las líneas en donde se encuentra la búsqueda y colocar los resultados (con el número de línea) en otro archivo.

Veamos cómo se soluciona.

(más…)

Python: clonar lista y eliminar referencia

Este post trata sobre el lenguaje de programación Python. Vamos a ver cómo copiar un arreglo pero eliminando la referencia; de este modo al modificar el arreglo A no vamos a modificar sin querer al arreglo B.

Esto también es conocido como clonar un arreglo o clonar una lista en Python.

Nota: con lista también me refiero a arreglo, array, vector, como lo conozcas.

(más…)

Por parzibyte, hace

Generar lista aleatoria en Python

En este post te voy a mostrar cómo generar un arreglo o lista de números aleatorios en Python. Voy a mostrarte dos ejemplos: uno para generar una lista de enteros aleatorios, y otra para generar una lista de flotantes.

En ambos casos encerraré el comportamiento en una función que recibirá: mínimo, máximo y cantidad. De este modo puedes generar una lista aleatoria en Python a tu medida.

(más…)

Validar fecha en Python

En este post te mostraré como validar fechas en Python. Es decir, validar que una cadena representando a una fecha sea válida y cumpla con un formato.

Además de comprobar que el formato sea el correcto (por ejemplo YYYY-MM-DD) también vamos a verificar que la fecha en sí sea válida, revisando por ejemplo que los días del mes no sean mayores a los soportados, que el número de mes no sea mayor a 12, etcétera.

(más…)

Python: recorrer lista con índice

En este post te mostraré cómo obtener o llevar cuenta del índice actual al recorrer una lista en el lenguaje de programación Python.

Normalmente en Python iteramos una lista a través del valor que tiene, pero en ocasiones vamos a querer acceder al índice numérico; y es lo que te mostraré hoy.

(más…)

Python: ejecutar comandos del sistema operativo

Hoy veremos cómo ejecutar órdenes en la terminal o línea de comandos usando Python; pasando argumentos a dichos comandos.

Es decir, usar Python para ejecutar un comando que se ejecutaría en la terminal ya sea de Windows o Linux, por ejemplo cd, ls, tree, etcétera.

Es importante mencionar que no vamos a obtener la salida del comando, sino que vamos a ejecutar el comando y ver si su código de salida es el correcto (es decir, que se ejecutó de manera correcta terminando con un estado 0) así que será silencioso.

Lo hago de esta forma porque en ocasiones utilizo Python para compilar otros programas, pero es un lío pasar argumentos o hacerlo portable entre Linux y Windows.

(más…)

Python: copiar directorio completo recursivamente

En este post sobre programación en Python te mostraré cómo copiar un directorio completo de manera recursiva. Es decir, si hay archivos dentro del directorio también se van a copiar, y lo mismo con otros directorios.

Vamos a usar una función realmente sencilla que ya viene integrada en el lenguaje; la misma se llama copy_tree y viene dentro de distutils.dir_util.

Esta solución funciona de maravilla tanto en Windows como en Linux.

(más…)

Validar solo dígitos en Python

En ocasiones necesitamos comprobar que determinada cadena en Python tiene solo dígitos del 0 al 9 y nada más, ni espacios, ni letras ni otros caracteres.

Afortunadamente en Python ya existe una función justamente para ello y la veremos a continuación; se trata de una función que devuelve True si todos los caracteres de la cadena son dígitos, y False de lo contrario.

(más…)