Python - urgente, funcion de desorden en python

   
Vista:

urgente, funcion de desorden en python

Publicado por Ricardo (2 intervenciones) el 21/06/2017 20:00:07
Necesito encontrar la cantidad de desorden de una cadena
ejemplo: TTTTGGCCAA
donde T = 4, G = 3, C = 2, A = 1
A<C<G<T
TTTGGCCAA = 4444332211 = 36 desordenes,
¿con que programa encontrar la cantidad de desordenes?

De ante mano, muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Andres Leonardo

urgente, funcion de desorden en python

Publicado por Andres Leonardo (38 intervenciones) el 21/06/2017 20:06:07
Hola Ricardo

No soy experto en Python pero me encantan los pseudocodigos., desearia poder resilver tu necesidad pero no la entiendo podrias explicar que son eoss desordenes por que g tiene 3 si aparece 2 veces o es por que esta en segundo lugar

la cadena de qu epones podria repetir desordenadamente un caracter TTTTGGTCCAA

gracias espero poderte ayudar con el codigo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

urgente, funcion de desorden en python

Publicado por Ricardo (2 intervenciones) el 21/06/2017 21:04:47
Se le asignan valores, segun el orden alfabetico
a = 1
c = 2
g = 3
t = 4
segun eso tengo que encontrar la funcion que cuente la cantidad de desordenes,
en el caso de TTTGGCCAA al asignarle valores quedaria de la forma 4444332211, lo que contiene 36 errores, ya que 4 es mayor que todos, el siguiente 4 es mayor que el resto, y asi suscesivamente.
ordenada quedaria AACCGGTTTT ya que iria en orden ascendente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip

urgente, funcion de desorden en python

Publicado por kip (204 intervenciones) el 22/06/2017 00:09:34
Hola, aun no entiendo de donde sacas el 36, por ejemplo aqui obtengo los valores segun el orden que mencionas:

1
2
3
4
string = 'TTTTGGCCAA'
values = {v:n+1 for n, v in enumerate(sorted(set(string)))}
string_values = [values[letter] for letter in string]
print(*string_values, sep='')

Donde string_values sera una lista con los valores que mencionaste y en el codigo anterior me mostrara:

1
4444332211

Ahora bien, cuentanos con mas detalle como obtienes el 36 porque esto:

lo que contiene 36 errores, ya que 4 es mayor que todos, el siguiente 4 es mayor que el resto, y asi suscesivamente

No lo entiendo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar