En este post te mostraré un ejercicio sencillo en Python. Se trata de, dada una cadena que representa la secuencia de ADN, ver si es válida.
No creas que será algo complejo o algo que tenga que ver realmente con el ADN (o cosas de esas que van mucho más allá de la programación) sino que simplemente será un ejercicio para comprobar si una string contiene únicamente las letras A, C, T y G.
Lo que tenemos que hacer es comprobar si cada letra del string está dentro de las letras ya indicadas. No debemos distinguir mayúsculas ni minúsculas, es decir, tanto “a” como “A” son válidas así que vamos a transformar todas las letras a minúsculas para una comparación más simple.
En caso de que la letra no sea ninguna de las mencionadas, inmediatamente nos detenemos e indicamos que no es una secuencia válida.
El código fuente queda como a continuación:
def secuencia_valida(secuencia):
for letra in secuencia:
if not letra.lower() in "actg":
return False
return True
En este caso regresamos True
o False
, para que la función sea reusable a través de todo el código. Una forma de uso es:
# Probar
secuencia = "ACTGactgGCTA"
print("¿Es válida?")
print(secuencia_valida(secuencia))
Finalmente el código completo queda así:
def secuencia_valida(secuencia):
for letra in secuencia:
if not letra.lower() in "actg":
return False
return True
# Probar
secuencia = "ACTGactgGCTA"
print("¿Es válida?")
print(secuencia_valida(secuencia))
En este post te enseñaré a imprimir la letra ñ en una impresora térmica. Voy…
En este post te quiero compartir mi experiencia tramitando un acta de nacimiento de México…
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Esta web usa cookies.
Ver comentarios
Hola, que tal?
Esta bueno el codigo, pero como se podria hacer para que busque tanto de forma verticular como horizontal y transversal?
Hola. Gracias por sus comentarios. Si tiene alguna consulta, solicitud de creación de un programa o solicitud de cambio de software estoy para servirle en https://parzibyte.me/#contacto
Saludos!