Advertisement
Guest User

ткинтер

a guest
Apr 20th, 2022
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.48 KB | None | 0 0
  1. import tkinter import t
  2. import math as m
  3. class Application(Frame):
  4. """вычисление корней квадратного уравнения"""
  5. #Метод-конструктор
  6. def __init__(self, master):
  7. super(Application, self).__init__(master)
  8. self.grid()
  9. self.create_widgets()
  10. #cоздание всех главных объектов
  11. def create_widgets(self):
  12. Label(self, text='Для решения вашего квадратного уравнения,\nвведите нужные данные ниже,\nзатем нажмите кнопку Sumbit', justify='left').grid(row = 0, column = 0, columnspan = 2, sticky = W)
  13. Label(self, text='Коэф. а:').grid(row = 1, column = 0, sticky = W)
  14. self.factora = Entry(self)
  15. self.factora.grid(row = 1, column = 1, sticky = W)
  16. Label(self, text='Коэф. b:').grid(row = 2, column = 0, sticky = W)
  17. self.factorb = Entry(self)
  18. self.factorb.grid(row = 2, column = 1, sticky = W)
  19. Label(self, text='Коэф. с:').grid(row = 3, column = 0, sticky = W)
  20. self.factorc = Entry(self)
  21. self.factorc.grid(row = 3, column = 1, sticky = W)
  22. self.main_button = Button(self, text = 'Sumbit', command = self.reveal)
  23. self.main_button.grid(row = 4, column = 0, sticky = W)
  24. self.main_text = Text(self, width = 35, height = 1, wrap = WORD)
  25. self.main_text.grid(row = 5, column = 0, columnspan = 3, sticky = W )
  26. self.second_text = Text(self, width = 35, height = 1, wrap = WORD)
  27. self.second_text.grid(row = 6, column = 0, columnspan = 2, sticky = W)
  28. #Исполнительная часть
  29. def reveal(self):
  30. a_factor = int(self.factora.get())
  31. b_factor = int(self.factorb.get())
  32. c_factor = int(self.factorc.get())
  33. discr = b_factor**2 - 4*a_factor*c_factor
  34. if discr >= 0:
  35. x1 = (-b_factor - math.sqrt(discr))/(2*a_factor)
  36. x2 = (-b_factor + math.sqrt(discr))/(2*a_factor)
  37. elif discr < 0:
  38. x1 = 'Дискриминант меньше 0 => корней нет'
  39. x2 = None
  40. self.main_text.delete(0.0, END)
  41. self.main_text.insert(0.0, x1)
  42. self.second_text.delete(0.0, END)
  43. self.second_text.insert(0.0, x2)
  44. #main
  45. root = Tk()
  46. root.title('Решение квадратных уравнений')
  47. root.geometry('300x200')
  48. app = Application(root)
  49. root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement