[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