Кулага2.py 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import tkinter as tk
  2. from tkinter import ttk
  3. from tkinter import messagebox
  4. def process_array():
  5. """Обрабатывает массив, разделяя на неотрицательные и отрицательные элементы."""
  6. try:
  7. input_str = array_entry.get()
  8. arr = [int(x) for x in input_str.split(",")] # Преобразуем строку в массив целых чисел
  9. positive_elements = [x for x in arr if x >= 0]
  10. negative_elements = [x for x in arr if x < 0]
  11. positive_result_label.config(text="Неотрицательные элементы: " + str(positive_elements))
  12. negative_result_label.config(text="Отрицательные элементы: " + str(negative_elements))
  13. except ValueError:
  14. messagebox.showerror("Ошибка", "Некорректный ввод! Введите целые числа, разделенные запятыми.")
  15. except Exception as e:
  16. messagebox.showerror("Ошибка", f"Произошла ошибка: {e}")
  17. # Создание главного окна
  18. root = tk.Tk()
  19. root.title("Разделение массива на положительные и отрицательные")
  20. root.geometry("500x300") # Устанавливаем размер окна
  21. # Стиль для элементов
  22. style = ttk.Style()
  23. style.configure("TLabel", padding=5, font=('Arial', 12))
  24. style.configure("TButton", padding=5, font=('Arial', 12))
  25. style.configure("TEntry", padding=5, font=('Arial', 12))
  26. # 1. Ввод массива
  27. array_label = ttk.Label(root, text="Введите массив целых чисел, разделенных запятыми:")
  28. array_label.pack(pady=10)
  29. array_entry = ttk.Entry(root, width=50)
  30. array_entry.pack(pady=5)
  31. # 2. Кнопка обработки
  32. process_button = ttk.Button(root, text="Обработать массив", command=process_array)
  33. process_button.pack(pady=10)
  34. # 3. Вывод результатов
  35. positive_result_label = ttk.Label(root, text="Неотрицательные элементы: ")
  36. positive_result_label.pack(pady=5)
  37. negative_result_label = ttk.Label(root, text="Отрицательные элементы: ")
  38. negative_result_label.pack(pady=5)
  39. root.mainloop()