Елисеенко_11.46.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import tkinter as tk
  2. from tkinter import messagebox
  3. class ResistanceCalculator:
  4. def __init__(self, master):
  5. self.master = master
  6. self.master.title("Расчет общего сопротивления")
  7. self.resistances = []
  8. self.label = tk.Label(master, text="Введите сопротивление 20 элементов (через запятую):")
  9. self.label.pack()
  10. self.entry = tk.Entry(master, width=50)
  11. self.entry.pack()
  12. self.calculate_button = tk.Button(master, text="Рассчитать общее сопротивление", command=self.calculate_total_resistance)
  13. self.calculate_button.pack()
  14. self.result_label = tk.Label(master, text="")
  15. self.result_label.pack()
  16. def calculate_total_resistance(self):
  17. try:
  18. resistance_values = self.entry.get().split(',')
  19. self.resistances = [float(value.strip()) for value in resistance_values]
  20. if len(self.resistances) != 20:
  21. raise ValueError("Должно быть ровно 20 значений.")
  22. total_resistance = sum(self.resistances)
  23. self.result_label.config(text=f"Общее сопротивление: {total_resistance:.2f} Ом")
  24. except ValueError as e:
  25. messagebox.showerror("Ошибка ввода", str(e))
  26. if __name__ == "__main__":
  27. root = tk.Tk()
  28. calculator = ResistanceCalculator(root)
  29. root.mainloop()