Foros del Web » Programando para Internet » Python »

Buscar coincidencias y comparaciones?

Estas en el tema de Buscar coincidencias y comparaciones? en el foro de Python en Foros del Web. Hola estoy adentrándome en el mundo de python y me encuentro con un problema que al parecer es más de lógica de programación, que del ...
  #1 (permalink)  
Antiguo 18/06/2013, 17:40
Avatar de Larc  
Fecha de Ingreso: octubre-2003
Ubicación: Mexico
Mensajes: 259
Antigüedad: 20 años, 5 meses
Puntos: 0
Buscar coincidencias y comparaciones?

Hola estoy adentrándome en el mundo de python y me encuentro con un problema que al parecer es más de lógica de programación, que del lenguaje en sí.

tengo 3 listas aleatorias:

Lista 0: ['I', 'D', 'H', 'J', 'G']
Lista 1: ['D', 'G', 'F', 'J', 'I']
Lista 2: ['J', 'E', 'E', 'D', 'L']

necesito buscar las coincidencias de las letras en cada lista, pero
esto es dependiendo a una lista que establece la coomparacion:

coompara = [[0,0,0,0,0],[1,1,1,1,1],[2,2,2,2,2],[0,1,1,1,1],[2,1,0,1,2]]

¿Que significan los numero de coompara?

Imaginen una tabla de 3 filas x 5 columas = 5 celdas en total





Ahora el problema:

de Lista -> Coompara si hay coincidencias.

por ejemplo:

Lista[0]: ['A', 'A', 'A', 'A', 'A']

En la lista0 si hay coincidencias de 'A' 5 veces

Lista[1]: ['B','B','A','B','B']

En la lista1 si hay coincidencias de 'B' 2 veces(esto es por que quiero tomar el valor de izquierda a derecha si no es continua la coincidencia de se rompe la coomparación).

Lista[2]: ['C','B','C','C','C']

En la lista solo hay 1 coincidencia.


Como hago las coincidencias y las comparaciones ?
__________________
Quien parte de las sombras y se levanta como un muerto brillando como una estrella sobre èl (towlen), entre la oscuridad congelante y la luz.
LÄRÇ :serio:
  #2 (permalink)  
Antiguo 18/06/2013, 18:19
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Buscar coincidencias y comparaciones?

No entiendo. Lo puedes explicar de una manera mas sencilla. El ejemplo que pones no lo entendí.

¿Por que son 2 coincidencias en la lista1?
¿Por que en la lista2 solo es una coincidencia (y ademas no dices si es de B o C)?

Dices que hay una lista de comparación pero no veo que las uses en los ejemplos. Realmente no entiendo nada.
  #3 (permalink)  
Antiguo 18/06/2013, 18:39
Avatar de Larc  
Fecha de Ingreso: octubre-2003
Ubicación: Mexico
Mensajes: 259
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Buscar coincidencias y comparaciones?

mm a ver si me explico mejor...

tengo una variable que se llama 'intentos' donde segun el numero de intentos que tenga hara el recorrido de la coomparación..


#Esta es mi lista de comparación y coincidencias
compara = [[0,0,0,0,0],[1,1,1,1,1],[2,2,2,2,2],[0,1,1,1,1],[2,1,0,1,2]]

#Mi numero de intentos
intentos = 3

#Mis listas a comparar
Lista[0]: ['A', 'A', 'A', 'A', 'A']
Lista[1]: ['B','B','A','B','B']
Lista[2]: ['C','B','C','C','C']


Entonces si tengo 3 intentos, probara coincidencias en 'compara del indice 0 al 2'

en la lista0 la primera A coincide con compara[0] = SI, cuento una A
en la lista0 la segunda A coincide con compara[0] = SI, cuento AA
en la lista0 la tercera A coincide con compara[0] = SI, cuento AAA
...
en la lista0 la quinta A coincide con compara[0] = SI, cuento AAAAA (tengo 5 coincidencias seguidas)




en la lista1 la primera B coincide con compara[1] = SI, cuento una B
en la lista1 la segunda B coincide con compara[1] = SI, cuento BB
en la lista1 la tercera B coincide con compara[1] = NO, cuento sola las dos primeras BB


en la lista2 la primera C coincide con compara[2] = SI, cuento una C
en la lista2 la segunda C coincide con compara[2] = NO, cuento sola la primera C
__________________
Quien parte de las sombras y se levanta como un muerto brillando como una estrella sobre èl (towlen), entre la oscuridad congelante y la luz.
LÄRÇ :serio:
  #4 (permalink)  
Antiguo 19/06/2013, 16:49
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Buscar coincidencias y comparaciones?

Ok, sigo sin tender muy bien. Pero parece que lo intentas hacer es un groupby.

Código Python:
Ver original
  1. from itertools import groupby
  2.  
  3. # Esta es mi lista de comparacion y coincidencias
  4. # Sigo sin entender esto
  5. compara = [[0,0,0,0,0],[1,1,1,1,1],[2,2,2,2,2],[0,1,1,1,1],[2,1,0,1,2]]
  6.  
  7. #Mi numero de intentos
  8. intentos = 3
  9.  
  10. #Mis listas a comparar
  11. mi_lista = [
  12.     ['A', 'A', 'A', 'A', 'A'],
  13.     ['B','B','A','B','B'],
  14.     ['C','B','C','C','C'],
  15. ]
  16.  
  17. for i in range(intentos):
  18.     print 'Intento %d' % (i + 1,)
  19.     mis_grupos = [[item, list(grupo)] for item, grupo in groupby(mi_lista[i])]
  20.     for item, grupo in mis_grupos:
  21.         print item, len(grupo)
  22.     print
  #5 (permalink)  
Antiguo 21/06/2013, 16:09
Avatar de Larc  
Fecha de Ingreso: octubre-2003
Ubicación: Mexico
Mensajes: 259
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Buscar coincidencias y comparaciones?

razpeitia gracias por tu respuesta hace que lo entienda mejor...

La lista de compara es la base de comparación, si apuestas 1 solo equivale a comparar de mi lista ['A', 'A', 'A', 'A', 'A'], en coompara[0]...

Esto quiere decir que compara[0] = 00000 y es igual a una linea horizontal de 5 caracteres.


['A', 'A', 'A', 'A', 'A'] es igual a entonces a 5-'A' y forman una linea de 5 caracteres.


pero si por ejemplo de mi lista quiero comparar ['C','B','C','C','C'] con compara[0] que establece una lista de 5 caracteres seguidos, ['C','B','C','C','C'] no cumple la comparación por que empieza con una 'C' y despues una 'B'... no se si me explico mejor.
__________________
Quien parte de las sombras y se levanta como un muerto brillando como una estrella sobre èl (towlen), entre la oscuridad congelante y la luz.
LÄRÇ :serio:
  #6 (permalink)  
Antiguo 21/06/2013, 16:11
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Buscar coincidencias y comparaciones?

Cita:
Iniciado por Larc Ver Mensaje
no se si me explico mejor.
No.
__________________
Grupo Telegram Docker en Español
  #7 (permalink)  
Antiguo 21/06/2013, 16:22
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Buscar coincidencias y comparaciones?

Cita:
Iniciado por Larc Ver Mensaje
razpeitia gracias por tu respuesta hace que lo entienda mejor...
¿Entonces tu tampoco lo entendías? xD

Cita:
Iniciado por Larc Ver Mensaje
no se si me explico mejor.
Realmente no. Creo que parece lógico pensar que ['A', 'A', 'A', 'A', 'A'] == [0, 0, 0, 0, 0] pero que tal si ['A', 'A', 'A', 'A', 'A'] == [1, 1, 1, 1, 1] si coincide? no coincide? por que?
  #8 (permalink)  
Antiguo 21/06/2013, 16:33
Avatar de Larc  
Fecha de Ingreso: octubre-2003
Ubicación: Mexico
Mensajes: 259
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Buscar coincidencias y comparaciones?

:( caray...

mmm de esta imagen:


Los cuadritos morados representan: 0,0,0,0,0
Los cuadritos rojos representan: 1,1,1,1,1
Los cuadritos rosas representan: 2,2,2,2,2

mmm entonces en esta malla de 5 columna y 3 filas:

la fila 1 = todas las celdas 0
la fila 2 = todas las celdas 1
y la fila 3 =todas las celdas 2

lo que representan son lineas.

000 es una linea de tres
0000 es una linea de cuatro
00000 es una linea de cinco...

Entonces lo que quiero hacer es que si en apuesta doy 1 solo quiero comprobar si en la linea uno hay letras que coincidan seguidas, si no coinciden pues no pasa nada igual mando un mensaje que no coinciden... pero si existen coincidencias quiero contar de izquierda a derecha las letras que coinciden....

por ejemplo tengo una lista = ['A','B','C','A','A']

apostando 1

quiero comprobar coincidencias seguidas de izquierda a derecha.. como no las hay hasta el final no cuenta ninguna..

pero si la lista fuera lista = ['A','A','A','B','A']

entonces me cuenta que existen 3 A seguidas lo que corresponde del conteo a una linea de 000.
__________________
Quien parte de las sombras y se levanta como un muerto brillando como una estrella sobre èl (towlen), entre la oscuridad congelante y la luz.
LÄRÇ :serio:
  #9 (permalink)  
Antiguo 21/06/2013, 17:00
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Buscar coincidencias y comparaciones?

¿Estas tratando de implementar este juego?

http://www.gamesforthebrain.com/game/guesscolors/
  #10 (permalink)  
Antiguo 21/06/2013, 17:49
Avatar de Larc  
Fecha de Ingreso: octubre-2003
Ubicación: Mexico
Mensajes: 259
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Buscar coincidencias y comparaciones?

Algo similar en la lógica, pero pretendo armar un juego de casino pero de muchas apuestas.

http://activeden.net/item/flash-slot..._preview/12046
__________________
Quien parte de las sombras y se levanta como un muerto brillando como una estrella sobre èl (towlen), entre la oscuridad congelante y la luz.
LÄRÇ :serio:

Etiquetas: coincidencias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:44.