[ Foro de Python ]
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.)