Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: El mas antiguo en 5 Septiembre 2022, 22:35 pm



Título: Consulta sobre listbox en tkinter.(ayuda personalizada)
Publicado por: El mas antiguo en 5 Septiembre 2022, 22:35 pm
(https://i.postimg.cc/26nyCn7T/Captura.png) (https://postimages.org/)

Hola a todos, ¿cómo están? Tengo 2 preguntas para hacerles:
Una lista como esta:

0100,archivos
0101,ASCII
0102,bucles
0103,cadenas
0104,condicionales
0105,datos
0106,diccionarios
0107,fechas
0108,listas
0109,poo
0110,tuplas
0111,búsqueda binaria
0112,validar
0113,errores
0114,funciones
0115,gráfica
0116,abecedario

¿Es necesario poner todas estas líneas para obtener la cadena seleccionada
del listbox o hay algún método que ya viene para esto?

Código
  1. def boton_ayuda(primer_Ayuda, inicio_ayuda):
  2.    if len(primer_Ayuda.curselection())!=0:
  3.        items = primer_Ayuda.get(primer_Ayuda.curselection()[0])
  4.        codigo = 0
  5.        for inicio in inicio_ayuda:
  6.            if inicio[1] == items:
  7.                codigo = inicio[0]
  8.                break
  9.        pasar_ayuda_secundaria(codigo)
  10.    else:
  11.        messagebox.showinfo(message="Debe seleccionar un item.", title="!!! Atención !!!")
  12.  

La segunda:
Como no tengo experiencia con compresión de lista, pregunto:
¿puedo insertar un condicional if para que por ej. si él .txt contiene
3000 líneas/filas agregue tan solo las que contengan el código 0111?

Código
  1. def pasar_ayuda_secundaria(codigo):
  2.    with codecs.open('segundaAyuda.txt', 'r', encoding='utf-8') as archivo:
  3.        segunda_ayuda=[linea.strip().split(",") for linea in archivo]
  4.  
           

Desde ya muchas gracias.
Slds. Daniel ☕☕☕


Título: Re: Consulta sobre listbox en tkinter.(ayuda personalizada)
Publicado por: reymosquito en 6 Septiembre 2022, 05:55 am
Ni siquiera entiendo las preguntas:
1)
Citar
Una lista como esta:
Código
  1. 0100,archivos
  2. 0101,ASCII
  3. 0102,bucles
  4. 0103,cadenas
  5. 0104,condicionales
  6. 0105,datos
  7. 0106,diccionarios
  8. 0107,fechas
  9. 0108,listas
  10. 0109,poo
  11. 0110,tuplas
  12. 0111,búsqueda binaria
  13. 0112,validar
  14. 0113,errores
  15. 0114,funciones
  16. 0115,gráfica
  17. 0116,abecedario

No veo como está definida esa lista

2)¿querés obtener lo que contiene el listbox en su selección? ¿multiple o simple? ¿el valor o el index?
si es el valor es simple:

cadena = listbox.get(listbox.curselection())

3)
Citar
¿puedo insertar un condicional if ?
más vale que si,ejemplo:

Código
  1. lista= [['0100',"archivos"],
  2.        ['0111','binaria'],
  3.        ['0109','poo'],
  4.        ['0111','xor']]
  5. seleccion= [x for x in lista if x[0] == '0111']
  6. print(seleccion)
  7.  

el tema es: ¿qué estructura tiene el archivo?, no creo que haya algún adivino

4) no es dificil crear un codigo mínimo verificable de lo que estás intentando, de lo que esperas  obtener y de los datos que usas.


Título: Re: Consulta sobre listbox en tkinter.(ayuda personalizada)
Publicado por: El mas antiguo en 6 Septiembre 2022, 14:21 pm
Tenes toda la razon Rey hay momentos que me cuesta hacerme entender
y este es uno de ellos(¿sera por mis 70 años?), continuare por las mias
y voy a ver que consigo.-

Slds. Daniel ☕☕☕