Buscaminas en Python - Programación de juego

Buscaminas en Python – Programación de juego

En mi blog ya te he enseñado a programar el juego de buscaminas en varios lenguajes pero hoy vamos a programarlo con Python.

Será el mismo juego en donde interactúas a través de la terminal y se imprime el tablero del juego buscaminas con las celdas que tiene y el conteo de minas cercanas o un asterisco.

Recuerda que todo esto lo vamos a programar usando Python y algunas listas.

(más…)

Python - Ejercicios resueltos con secuencias de ADN y cadenas

Python – Ejercicios resueltos con secuencias de ADN

Hoy vamos a ver más ejercicios de Python con secuencias de ADN. Son 9 ejercicios y se trabaja con cadenas, bases y secuencias.

La descripción dice así:

  1. Desarrollar un programa en Python para usar distintas funciones. El programa debe ofrecer un menú.
  2. Al comienzo del programa preguntar si se desea ingresar una secuencia particular en cada opción correspondiente del menú o si se desea trabajar todo el programa con una misma secuencia fija, que se cargará inicialmente.
  3. En todos los casos se debe controlar que las secuencias ingresadas sean válidas (contengan exclusivamente “A”, “C”, “T”, “G”, y largo de la secuencia mayor o igual a 1) sin importar mayúsculas y minúsculas.

Luego se muestra el menú con estas opciones:

  • Opción 0: Salir del programa
  • Opción 1-9: En cada opción, según se haya indicado inicialmente, se trabaja con la secuencia fija o se solicita una al usuario si corresponde.

En caso de ser necesarios datos adicionales específicos, se solicitan. En cada opción se invoca a la función correspondiente que se detalla a continuación y se muestra el resultado por pantalla.

(más…)

Python - Saber si cadena es periódica

Python – Saber si cadena es periódica

Siguiendo con los ejercicios de Python vamos a ver si una cadena se puede rearmar tomando un subgrupo de caracteres de la propia cadena y replicándolos para formar la cadena.

Básicamente veremos si una cadena puede ser periódica para ver si un grupo de caracteres puede rearmar a la propia cadena.

Por ejemplo, la cadena EAEEAE es periódica porque con el subgrupo EAE se puede rearmar. Igualmente la cadena EEEE es periódica porque con el subgrupo E se puede rearmar.

Veamos cómo hacer esto con Python.

(más…)

Expandir cada letra de una cadena con Python - Descomprimir cadena multiplicando carácter por número

Python: expandir letras de cadena según número

Siguiendo con los ejercicios de programación en Python vamos a ver cómo descomprimir o expandir cada letra de una cadena según el número que está junto a ella.

Por ejemplo, si tenemos la siguiente cadena formada por pares de letras y números en donde cada número indica las veces que un carácter debe expandirse:

a1e4o6z9

Al expandirla debe aparecer lo siguiente:

aeeeeoooooozzzzzzzzz

Básicamente estamos descomprimiendo la cadena, justamente lo contrario a cuando agrupamos las letras junto con su conteo haciendo un tipo de resumen.

(más…)

Programación en Python - Saber si cadena empieza o termina con letra, subcadena o cadena

Python: saber si cadena empieza o termina con otra cadena

Siguiendo con los tutoriales de programación en Python vamos a analizar cómo saber si una cadena empieza con otra cadena o subcadena, y también cómo saber si una cadena termina con otra cadena o subcadena.

Básicamente veremos si una string empieza con algo o termina con algo, usando endswith y startswith pero también revisando unas funciones propias y operaciones de listas; todo esto en Python.

(más…)

Contar caracteres contiguos (letras repetidas sucesivas) con Python - Ejercicio resuelto

Python – Contar caracteres sucesivos

En este post de algoritmos y programación en Python vamos a resolver un ejercicio que cuenta los caracteres sucesivos que encuentra en una cadena.

Es decir, contar cuántas veces seguidas aparece una letra y cuando se encuentre una distinta entonces colocamos el número de veces que se repite y empezamos a contar de nuevo.

Por ejemplo, para la cadena EEEEEDEEDCCEEBEEAEAEGEGEFE debería salir algo como lo siguiente:

Puede que la descripción del ejercicio cambie dependiendo de tu profesor, pero al final la solicitud es la misma. Veamos entonces cómo resolverlo usando Python.

(más…)

Python - Jugar a los dados entre 2 amigos - Ejercicio resuelto

Python – Partida de dados entre 2 amigos – Ejercicio resuelto

En el post de hoy sobre programación en Python vamos a simular una partida de dados entre 2 amigos. El ejercicio en cuestión dice así:

Crea un programa que simule una partida de dados entre dos amigos, siendo las normas del juego las siguientes:

  • Cada jugador lanzará dos dados de 6 simultáneamente y apuntará los resultados que han obtenido.
  • Si alguno de los números obtenidos por los jugadores coincide, el Jugador 1 ganará la ronda. Por el contrario, si ninguno de los números coincide el Jugador 2 ganará.
  • El juego finalizará cuando alguno de los jugadores gane 3 rondas.
  • El programa deberá enviar un mensaje de enhorabuena al jugador que haya ganado la partida y terminarse.

Veamos entonces cómo resolver esto con Python.

(más…)

Formulario para firmar PDF con Python - Seleccionar P12, contraseña y archivo

Python – Firmar PDF con P12 y Flask

En este post te compartiré los resultados de mi investigación sobre cómo firmar, digitalmente, un documento PDF usando un certificado con extensión P12 y la librería endesive.

Al final terminé creando una aplicación web con Flask que permite que elijas el certificado, el PDF y la contraseña para devolverte el PDF pero firmado digitalmente.

Ten en cuenta que yo probé con un certificado de prueba generado por mí mismo, así que no sé si esto funcione con algo real.

(más…)

Lista enlazada con Python - Estructura de datos y operaciones

Lista ligada en Python

En este post te mostraré una lista ligada en Python que después se podría modificar como una cola o pila (ya que se pueden insertar elementos al inicio y al final).

Las operaciones que manejaremos con esta lista enlazada son:

  • Agregar al inicio
  • Agregar al final
  • Saber si elemento existe
  • Eliminar un elemento
  • Obtener cabeza
  • Obtener cola
  • Recorrer lista

Por cierto, vamos a usar ciclos y no recursión para las operaciones. De esta manera el código queda más simple.

(más…)

Python - Calcular media, alumnos suspendidos y promedio superior a 5 (ejercicio resuelto)

Python: ejercicio de alumnos y calificaciones con matriz

Hoy vamos a resolver otro ejercicio de alumnos y calificaciones con Python usando matrices.

La matriz ya estará llena al momento de ejecutarse el ejercicio, es decir, la llenará el programador.

La solicitud dice:

  1. Muestra por pantalla cuántos alumnos suspendieron cada asignatura
  2. Realiza la media de las notas de cada alumno
  3. Muestra por pantalla los nombres de los alumnos que obtuvieron una nota media superior a 5.

Entonces veamos cómo resolver este ejercicio de materias, alumnos y calificaciones en donde sacaremos promedios y alumnos reprobados.

(más…)