elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Verificar colores,nombre en listas (Python)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Verificar colores,nombre en listas (Python)  (Leído 4,225 veces)
SlayerBur

Desconectado Desconectado

Mensajes: 92



Ver Perfil
Verificar colores,nombre en listas (Python)
« en: 13 Junio 2021, 15:35 pm »

Buen dia.

Tengo un problema a la hora de crear un bucle for para comprobar si el color es igual al nombre en una lista.

Código:
    for i in linea1:
        for imagen in images:
            for pos in lugar[i]:
                if (imagen.color == color[i]) and (imagen.name == pos):
                    linea2.append(imagen.name)
                    #print(imagen.name)

varables:
Código:
    lugar = [("a1","a2","a3","a4","a5"),("b1","b2","b3","b4","b5"),("c1","c2","c3","c4","c5")]
    linea1 = [(0),(1),(2)]
color = [(255,0,0), (0,255,0), (0,0,255), (255,255,0), (255,0,255), (0,255,255), (150,150,0)]

lo que quiero lograr es contar y agregar en en una lista la cantidad de colores por linea,
2 verde, 3 rojo / 3 verde, 2 rojo

https://imgur.com/a/gYMu6UT
asi se veria en el programa

y lo unico que logro obtener es color por linea, ej: rojo 3 / verde 3 / azul 1

espero que se entienda, y gracias de antemano


En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Verificar colores,nombre en listas (Python)
« Respuesta #1 en: 13 Junio 2021, 20:11 pm »

tal como está no hay forma de adivinar nada.
¿qué es images?¿querés contar los colores directamente de la imagen?

Citar
https://imgur.com/a/gYMu6UT
asi se veria en el programa

¿eso es un programa?


En línea

SlayerBur

Desconectado Desconectado

Mensajes: 92



Ver Perfil
Re: Verificar colores,nombre en listas (Python)
« Respuesta #2 en: 13 Junio 2021, 21:03 pm »

tal como está no hay forma de adivinar nada.
¿qué es images?¿querés contar los colores directamente de la imagen?

¿eso es un programa?

mas que un programa es un juego.
images seria esto, una lista.
Código:
images = [celda(xCelda,yCelda,"a1"), celda(xCelda+separacion,yCelda,"a2"), celda(xCelda+separacion*2,yCelda,"a3"), celda(xCelda+separacion*3,yCelda,"a4"), celda(xCelda+separacion*4,yCelda,"a5"), # Fila 1
        celda(xCelda,yCelda+separacionY,"b1"),celda(xCelda+separacion,yCelda+separacionY,"b2"),celda(xCelda+separacion*2,yCelda+separacionY,"b3"),celda(xCelda+separacion*3,yCelda+separacionY,"b4"),celda(xCelda+separacion*4,yCelda+separacionY,"b5"), # Fila 2
        celda(xCelda,yCelda+separacionY*2,"c1"),celda(xCelda+separacion,yCelda+separacionY*2,"c2"),celda(xCelda+separacion*2,yCelda+separacionY*2,"c3"),celda(xCelda+separacion*3,yCelda+separacionY*2,"c4"),celda(xCelda+separacion*4,yCelda+separacionY*2,"c5"),] # Fila 3

solo quero contar cuantos colores se repiten en cada linea
En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Verificar colores,nombre en listas (Python)
« Respuesta #3 en: 14 Junio 2021, 00:16 am »

¿es un chiste? Te ayudaría, pero ¿tenés idea que estás haciendo?
para :

Código
  1. linea1 = [(0),(1),(2)]
  2. for i in linea1:
  3.  

usamos :
Código
  1. for i in range(3):

y te ahorras una lista

esto:
i
Código
  1. mages = [celda(xCelda,yCelda,"a1"), celda(xCelda+separacion,yCelda,"a2")]
  2.  

la corté por una cuestion de espacio

¿dónde está declarada celda,xCelda,yCelda, separaqción, Y?

y:

 f
Código
  1. or imagen in images:
  2.  
  3.     if (imagen.color == color[i]) and (imagen.name == pos):
  4.  

¿de dónde salen los atributos color y name?

con lo que ponés no hay forma de hacer nada.

En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Verificar colores,nombre en listas (Python)
« Respuesta #4 en: 20 Junio 2021, 06:33 am »

Hola, puedes hacer un foreach a cada celda de cada linea y parsear el objeto del color, por ejemplo "str(i)", eso te generará un string con la representación del objeto del color, ahora haces un diccionario y lo usas como llave y los vas contando, por ejemplo:

Código
  1. linea1 = [(0,0,0),(255,0,0),(0,0,255),(0,0,255)]
  2. count = {}
  3. for i in linea1:
  4.    if(not str(i) in count.keys()):
  5.        count[str(i)] = 0
  6.    count[str(i)] += 1
  7.  
  8. print(count)
  9.  

Debería quedar algo así:

Código
  1. {
  2.    '(0,0,0)': 1,
  3.    '(255,0,0)': 1,
  4.    '(0,0,255)': 2
  5. }
  6.  



Saludos.
« Última modificación: 20 Junio 2021, 06:36 am por WHK » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Barritas de colores RGB para cambiar el color del nombre y fondo de un label
Programación Visual Basic
‭lipman 5 4,270 Último mensaje 9 Noviembre 2006, 22:48 pm
por ‭lipman
Verificar argumentos de función[Python]
Scripting
S3kh 3 3,366 Último mensaje 20 Septiembre 2011, 02:26 am
por Novlucker
Verificar si dos tuplas contienen los mismos valores [python]
Programación General
bichotg 5 4,673 Último mensaje 23 Febrero 2012, 18:38 pm
por WaAYa HaCK
[PYTHON] Verificar integridad de un mensaje
Scripting
Josholsan 4 4,594 Último mensaje 24 Octubre 2014, 01:47 am
por Josholsan
[Python] Verificar variables con if (Solucionado)
Scripting
DeMoNcRaZy 2 1,808 Último mensaje 19 Agosto 2015, 18:48 pm
por DeMoNcRaZy
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines