Мне нужно произвести математическую операцию с переменными, взятыми из
a: база данных
b: запись tkinter
#Get database number
cantidad = IntVar()
cursor.execute('''SELECT terneros FROM animales''')
cantidad.set(cursor.fetchone())
Затем запись tkinter:
ent_peso = Entry (ventana1, textvariable=peso).grid(row=3, column=2)
Когда я пытаюсь сделать следующую операцию
total = StringVar()
total.set(peso*cantidad.get())
messagebox.showinfo("Resultado", "$: "+ total.get())
Я понял это
TypeError: getdouble() argument must be str, not tuple
Весь код:
peso = IntVar()
def calcular():
cantidad = IntVar()
cursor.execute('''SELECT terneros FROM animales''')
cantidad.set(cursor.fetchone())
total = StringVar()
total.set(peso.get()*cantidad.get())
messagebox.showinfo("Resultado", "$: "+ total.get())
ent_peso = Entry (ventana, textvariable=peso).grid(row=3, column=2)
but_calc = Button(ventana, text = "Calcular", command=calcular).place(x=150,y=115)
ventana.mainloop()
@ADWAN, что значит «оно»?






Ваша проблема заключается в следующей строке кода:
cantidad.set(cursor.fetchone())
Метод cursor.fetchone() возвращает кортеж, содержащий все значения в вашем запросе, в данном случае (terneros,).
Вы должны изменить эту строку кода на
cantidad.set(cursor.fetchone()[0])
чтобы получить содержимое этого кортежа.
преобразовать его в строку