Problema con for y lista (PySimpleGUI)
Publicado por smn (62 intervenciones) el 08/11/2020 00:29:26
Muy buenas gente
estoy teniendo un problema a la hora de capturar todos los datos que se almacenan en un input
por ejemplo tengo 7 inputs y en cada uno puedo o no recibir un dato, entonces cuando un input recibe un dato este procede a reemplazar un dato ya definido en una lista, pero si no hay dato en un input quiero que se salte ese input y continúe con el otro
el problema esta en la funcion
estoy teniendo un problema a la hora de capturar todos los datos que se almacenan en un input
por ejemplo tengo 7 inputs y en cada uno puedo o no recibir un dato, entonces cuando un input recibe un dato este procede a reemplazar un dato ya definido en una lista, pero si no hay dato en un input quiero que se salte ese input y continúe con el otro
el problema esta en la funcion
1
funcion_editar_notas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import PySimpleGUI as sg
sg.theme("LightBlue6")
layout_mostrar_notas = [
[sg.Text("Seleccione la asignatura que desea visualizar", font=("Arial",15))],
[sg.Combo(["Programacion Orientada a Objetos","Diseño de Bases de Datos","Algebra","Diseño de Software"],key="combo_mostrar_notas")],
[sg.Text("Notas",font=("Arial",12))],
[sg.Text("N1",key="n1_salida"),
sg.Text("N2",key="n2_salida"),
sg.Text("N3",key="n3_salida"),
sg.Text("N4",key="n4_salida"),
sg.Text("N5",key="n5_salida"),
sg.Text("N6",key="n6_salida"),
sg.Text("N7",key="n7_salida")],
[sg.Button("Mostrar"),sg.Button("Editar Notas"),
sg.Input(key="editar_n1_entrada",size=(5,1)),
sg.Input(key="editar_n2_entrada",size=(5,1)),
sg.Input(key="editar_n3_entrada",size=(5,1)),
sg.Input(key="editar_n4_entrada",size=(5,1)),
sg.Input(key="editar_n5_entrada",size=(5,1)),
sg.Input(key="editar_n6_entrada",size=(5,1)),
sg.Input(key="editar_n7_entrada",size=(5,1)),
]
]
def funcion_mostrar_nota(event, value,win,lista):
if event == "Mostrar" and value.get("combo_mostrar_notas") == "Programacion Orientada a Objetos":
if len(lista) == 0:
print("No hay datos en la lista")
else:
for i in range(1,8):
win[f"n{i}_salida"].update(lista[i-1],text_color="blue")
def funcion_editar_notas(event,value,win,lista):
if event == "Editar Notas" and value.get("combo_mostrar_notas") == "Programacion Orientada a Objetos":
print("paso 1")
for i in range(1,8):
print("paso 2")
if len(value.get(f"editar_n{i}_entrada".isnumeric())) >= 1:
print("paso 3")
convertir = int(value.get(f"editar_n{i}_entrada"))
if convertir >= 1 and convertir <= 7:
print("paso 4")
lista[i-1] = value.get(f"editar_n{i}_entrada")
print(lista)
else:
lista[i-1] = lista[i-1]
Valora esta pregunta


0