Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import tkinter import t
- import math as m
- class Application(Frame):
- """вычисление корней квадратного уравнения"""
- #Метод-конструктор
- def __init__(self, master):
- super(Application, self).__init__(master)
- self.grid()
- self.create_widgets()
- #cоздание всех главных объектов
- def create_widgets(self):
- Label(self, text='Для решения вашего квадратного уравнения,\nвведите нужные данные ниже,\nзатем нажмите кнопку Sumbit', justify='left').grid(row = 0, column = 0, columnspan = 2, sticky = W)
- Label(self, text='Коэф. а:').grid(row = 1, column = 0, sticky = W)
- self.factora = Entry(self)
- self.factora.grid(row = 1, column = 1, sticky = W)
- Label(self, text='Коэф. b:').grid(row = 2, column = 0, sticky = W)
- self.factorb = Entry(self)
- self.factorb.grid(row = 2, column = 1, sticky = W)
- Label(self, text='Коэф. с:').grid(row = 3, column = 0, sticky = W)
- self.factorc = Entry(self)
- self.factorc.grid(row = 3, column = 1, sticky = W)
- self.main_button = Button(self, text = 'Sumbit', command = self.reveal)
- self.main_button.grid(row = 4, column = 0, sticky = W)
- self.main_text = Text(self, width = 35, height = 1, wrap = WORD)
- self.main_text.grid(row = 5, column = 0, columnspan = 3, sticky = W )
- self.second_text = Text(self, width = 35, height = 1, wrap = WORD)
- self.second_text.grid(row = 6, column = 0, columnspan = 2, sticky = W)
- #Исполнительная часть
- def reveal(self):
- a_factor = int(self.factora.get())
- b_factor = int(self.factorb.get())
- c_factor = int(self.factorc.get())
- discr = b_factor**2 - 4*a_factor*c_factor
- if discr >= 0:
- x1 = (-b_factor - math.sqrt(discr))/(2*a_factor)
- x2 = (-b_factor + math.sqrt(discr))/(2*a_factor)
- elif discr < 0:
- x1 = 'Дискриминант меньше 0 => корней нет'
- x2 = None
- self.main_text.delete(0.0, END)
- self.main_text.insert(0.0, x1)
- self.second_text.delete(0.0, END)
- self.second_text.insert(0.0, x2)
- #main
- root = Tk()
- root.title('Решение квадратных уравнений')
- root.geometry('300x200')
- app = Application(root)
- root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement