Выдает ошибку TypeError: unsupported operand type(s) for *: 'Entry' and 'float'
Выдает ошибку TypeError: unsupported operand type(s) for *: 'Entry' and 'float', что не так не могу уже второй час понять, помогите пожалуйста. (я новичок, сильно не ругайтесь)
from tkinter import *
def slover(a, b, c, g, h):
n = 2
a1 = work(f, g, h, n)
n *= 2
a2 = work(f, g, h, n)
while abs(a1 - a2) > 0.1:
n *= 2
a1 = work(f, g, h, n)
n *= 2
a2 = work(f, g, h, n)
return a2
def inserter(value):
output.delete('0.0', END)
output.insert('0.0', value)
def work(f, z, v, n):
hei = (v-z)/float(n)
total = sum([f((z+(k*hei))) for k in range(n, 0, -1)])
result = hei * total
return result
def f(x):
return a*(x ** 4)+b*(x**2)+c
def trap():
try:
a_val = float(a.get())
b_val = float(b.get())
c_val = float(c.get())
g_val = float(g.get())
h_val = float(h.get())
inserter(slover(a_val, b_val, c_val, g_val, h_val))
except ValueError:
inserter('Убедитесь, что ввели все верно')
root = Tk()
root.title('Решение интегралов методом трапеций и правых прямоугольников')
root.geometry('755x500+600+300')
root.resizable(width=False, height=False)
a = Entry()
a.grid(row=1, column=1, pady=10, padx=10)
a_lab = Label(text='x^4 +', font='Arial 15').grid(row=1, column=2)
b = Entry()
b.grid(row=1, column=3, pady=10, padx=10)
b_lab = Label(text='x^2 +', font='Arial 15').grid(row=1, column=4)
c = Entry()
c.grid(row=1, column=5, pady=10, padx=10)
c_lab = Label(text='= ', font='Arial 15').grid(row=1, column=6)
g = Entry()
g.grid(row=2, column=1, pady=10,padx=10)
g_lab = Label(text='введите начало координат', font='Arial 15').grid(row=2, column=2, columnspan=2)
h = Entry()
h.grid(row=3, column=1, pady=10,padx=10)
h_lab = Label(text='введите конец координат', font='Arial 15').grid(row=3, column=2, columnspan=2)
btn1 = Button(text='Решить методом пр. прямоуг.', font='Arial 15 bold', command=trap).grid(row=4, column=1, columnspan=3, padx=30)
btn2 = Button(text='Решить методом трапеций', font='Arial 15 bold', command=trap).grid(row=4, column=4, columnspan=3, padx=30)
output = Text(bg='black', fg='green', font='arial 10')
output.grid(row=5, rowspan=6, column=1, columnspan=8, pady=10, padx=20)
root.mainloop()
Источник: Stack Overflow на русском