Елисеенко_11.47.py 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. import tkinter as tk
  2. from tkinter import messagebox
  3. def calculate_total_resistance():
  4. try:
  5. total_inverse = sum(1 / float(entry.get()) for entry in entries if entry.get())
  6. if total_inverse == 0:
  7. raise ValueError("Общее сопротивление не может быть бесконечным.")
  8. total_resistance = 1 / total_inverse
  9. messagebox.showinfo("Результат", f"Общее сопротивление цепи: {total_resistance:.2f} Ом")
  10. except ValueError as e:
  11. messagebox.showerror("Ошибка", str(e))
  12. root = tk.Tk()
  13. root.title("Расчет общего сопротивления цепи")
  14. entries = []
  15. for i in range(20):
  16. label = tk.Label(root, text=f"Сопротивление элемента {i + 1} (Ом):")
  17. label.grid(row=i, column=0, padx=10, pady=5)
  18. entry = tk.Entry(root)
  19. entry.grid(row=i, column=1, padx=10, pady=5)
  20. entries.append(entry)
  21. calculate_button = tk.Button(root, text="Рассчитать общее сопротивление", command=calculate_total_resistance)
  22. calculate_button.grid(row=20, columnspan=2, pady=10)
  23. root.mainloop()