[Python-es] ciclos
Martha Lucía Gallego López
mgallegol en gmail.com
Mar Ago 28 05:28:52 CEST 2007
El 23/08/2007, Chema Cortes <pych3m4 en gmail.com> escribió:
>Por otros mensajes tuyos, creo que usas Tkinter/Pmw; pero no >estaría
>mal que, para otra vez, lo pongas explícitamente, incluso en el >mismo
>asunto del mensaje. Tampoco sobraría algo de código para no >andar
>especulando.
lo que usted cree es cierto uso Tkinter/Pmw y voy a tener en cuenta el
asunto del mensaje. Respecto al código aquí lo pongo
manejo varios modulos:
---------------- módulo principal ---------------------------------------
from Tkinter import *
import calculos
def con():
calculos.hola()
def h():
Button(root,
text='CONTINUAR',
width=11,
command=con).place(x=15, y=6)
root = Tk()
hol=h()
root.mainloop()
------------------------------------------------------------------------------------------------
---------------------módulo calculos---------------------------------------
from Tkinter import *
import Pmw
import recalculcos
import muestra
def continuarS1(respuesta1):
if respuesta1=='SI':
continuar()
elif respuesta1=='NO':
muestra.show()
def ns1():
global resul,resul1,caT, cbT
if r1.x==1:
a1=recalculcos.x1
a2=recalculcos.x2
aT=a1+a2
b1=recalculcos.y1
b2=recalculcos.y2
bT=b1+b2
resul=aT+bT
print'resul=',resul
elif r1.x!=1:
ca1=recalculcos.x3
ca2=recalculcos.x2
caT=ca1+ca2
cb1=recalculcos.y3
cb2=recalculcos.y2
cbT=cb1+cb2
resul1=caT+cbT
print'resul',resul1 #aquí lista cada uno de los resultados bien,
pero cuando voy a muestra para enseñarlos en un label es donde se presenta
el error, ahí es donde me estoy equivocando....
def hola1():
global vx2,vy2
r2=Toplevel()
vx2=StringVar()
vx2.set(str())
vy2=StringVar()
vy2.set(str())
vx2.trace_variable("w",recalculcos.recalcula1)
vy2.trace_variable("w",recalculcos.recalcula1)
lserie=Label(r2,
text = '%da. SERIE\n'%r1.x,
bg= 'gray',
relief= RAISED,
borderwidth= 2,
font= ('Comic Sans MS',8))
lserie.place(x=50, y=5)
lpunto_x1=Label(r2, text='x')
lpunto_x1.place(x=11, y=55)
cuadro_x1=Entry(r2, textvariable=vx2, width=4)
cuadro_x1.place(x=37, y=55)
lpunto_y1=Label(r2, text='y')
lpunto_y1.place(x=75, y=55)
cuadro_y1=Entry(r2, textvariable=vy2, width=4)
cuadro_y1.place(x=102, y=55)
Button(r2,
text='CONTINUAR',
width=11,
command=ns1).place(x=40, y=85)
def hola():
global r1,vx1,vy1
r1=Toplevel()
r1.x=1
vx1=StringVar()
vx1.set(str())
vy1=StringVar()
vy1.set(str())
vx1.trace_variable("w",recalculcos.recalcula)
vy1.trace_variable("w",recalculcos.recalcula)
lserie=Label(r1,
text = '%da. SERIE\n'%r1.x,
bg= 'gray',
relief= RAISED,
borderwidth= 2,
font= ('Comic Sans MS',8))
lserie.place(x=50, y=5)
lpunto_x1=Label(r1, text='x')
lpunto_x1.place(x=11, y=55)
cuadro_x1=Entry(r1, textvariable=vx1, width=4)
cuadro_x1.place(x=37, y=55)
lpunto_y1=Label(r1, text='y')
lpunto_y1.place(x=75, y=55)
cuadro_y1=Entry(r1, textvariable=vy1, width=4)
cuadro_y1.place(x=102, y=55)
Button(r1,
text='CONTINUAR',
width=11,
command=hola1).place(x=40, y=85)
def continuar():
global vx3,vy3
r3=Toplevel()
r1.x=r1.x+1
vx3=StringVar()
vx3.set(str())
vy3=StringVar()
vy3.set(str())
vx3.trace_variable("w",recalculcos.recalcula2)
vy3.trace_variable("w",recalculcos.recalcula2)
lserie=Label(r3,
text = '%da. SERIE\n'%r1.x,
bg= 'gray',
relief= RAISED,
borderwidth= 2,
font= ('Comic Sans MS',8))
lserie.place(x=50, y=5)
lpunto_x1=Label(r3, text='x')
lpunto_x1.place(x=11, y=55)
cuadro_x1=Entry(r3, textvariable=vx3, width=4)
cuadro_x1.place(x=37, y=55)
lpunto_y1=Label(r3, text='y')
lpunto_y1.place(x=75, y=55)
cuadro_y1=Entry(r3, textvariable=vy3, width=4)
cuadro_y1.place(x=102, y=55)
Button(r3,
text='CONTINUAR',
width=11,
command=hola1).place(x=40, y=85)
-------------------------------------------------------------------------------------------------------------
-------------------------------módulo
muestra----------------------------------------
from Tkinter import *
import calculos
import recalculcos
def show():
m=Toplevel()
y=30
r= 1
num=1
if calculos.r1.x==1:
Label(m,
text='serie1=%d'%calculos.resul).grid(row=0,column=0,sticky='nsew')
elif calculos.r1.x!=1:
for c in range(1,calculos.r1.x):
num=num+1
r = r + 1
Label(m,text='serie1=
%d'%calculos.resul).grid(row=0,column=0,sticky='nsew')
h=Label(m,text="serie%d= %d"%(num,calculos.resul1))#muestra el
último valor de la suma, como hacer para que liste los diversos
resultados?????
h.grid(row = r, column = 0, sticky = 'nsew')
m.grid_rowconfigure(r, weight = 1)
m.mainloop()
--------------------------------------------------------------------------------------------
Gracias por su colaboración, me gustaría saber que error (es) estoy
cometiendo........
Más información sobre la lista de distribución Python-es