[ Foro de Python ]

Botones

17-Apr-2022 21:07
Invitado (Mart?n)
0 Respuestas

Hola. Estoy tratando de hacer un programa que dados dos números (a y b) me devuelva n números de la forma a+b*n, donde a, b y n son números naturales. Por ejemplo, si escribo 2, 3  y 4 el programa me devuelve la lista [2,5,8,11]. No tuve problemas para escribir el código, es éste:

a = int(input("a= "))
b = int(input("b= "))
n = int(input("#: "))

lista = []
for n in range(n):
   num = a+b*n
   lista.append(num)

print("N(", a, ",", b, ") =", lista)

El problema es que cuando quiero crear una interfaz con botones, no sé cómo "poner" la lista dentro de la función. El código que escribí es éste:

from tkinter import *

def sumar():
   lista = []
   for vartxt3 in range(vartxt3):
       num = vartxt1 + vartxt2 * vartxt3
       lista.append(num)
   varres.set("suma = " + str(lista))


def limpiar():
   varres.set("")
   vartxt1.set("")
   vartxt2.set("")
   vartxt3.set("")

ventana = Frame(height=170, width=360)
ventana.pack(padx=5, pady=5)

vartxt1 = StringVar()
txt1 = Entry(ventana, textvariable=vartxt1).place(x=0, y=0)

vartxt2 = StringVar()
txt2 = Entry(ventana, textvariable=vartxt2).place(x=130, y=0)

vartxt3 = StringVar()
txt3 = Entry(ventana, textvariable=vartxt3).place(x=260, y=0)

varres = StringVar()
txtres = Entry(ventana, textvariable=varres, width=100).place(x=0, y=145)

bsum = Button(ventana, command=sumar, text="Sumar", padx=42, pady=5).place(x=0, y=25)
blim = Button(ventana, command=limpiar, text="Limpiar", padx=42, pady=5).place(x=60, y=100)

ventana.mainloop()

Bueno, gracias de antemano.




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)