|
@@ -0,0 +1,67 @@
|
|
|
+import tkinter as tk
|
|
|
+from tkinter import ttk
|
|
|
+from tkinter import messagebox
|
|
|
+import random
|
|
|
+
|
|
|
+def generate_numbers():
|
|
|
+
|
|
|
+ try:
|
|
|
+ a = int(a_entry.get())
|
|
|
+ b = int(b_entry.get())
|
|
|
+
|
|
|
+ if a >= b:
|
|
|
+ messagebox.showerror("Ошибка", "Значение 'a' должно быть меньше 'b'!")
|
|
|
+ return
|
|
|
+
|
|
|
+ m = random.randint(1, 20)
|
|
|
+ n = random.randint(1, 20)
|
|
|
+
|
|
|
+ integer_numbers = [random.randint(a, b) for _ in range(n)]
|
|
|
+ float_numbers = [random.uniform(0, n) for _ in range(m)]
|
|
|
+
|
|
|
+ m_label.config(text="m = " + str(m))
|
|
|
+ n_label.config(text="n = " + str(n))
|
|
|
+ integer_numbers_label.config(text="Целые числа: " + str(integer_numbers))
|
|
|
+ float_numbers_label.config(text="Вещественные числа: " + str(float_numbers))
|
|
|
+
|
|
|
+ except ValueError:
|
|
|
+ messagebox.showerror("Ошибка", "Некорректный ввод! Введите целые числа для a и b.")
|
|
|
+ except Exception as e:
|
|
|
+ messagebox.showerror("Ошибка", f"Произошла ошибка: {e}")
|
|
|
+
|
|
|
+root = tk.Tk()
|
|
|
+root.title("Генератор случайных чисел")
|
|
|
+root.geometry("600x500")
|
|
|
+
|
|
|
+style = ttk.Style()
|
|
|
+style.configure("TLabel", padding=5, font=('Arial', 12))
|
|
|
+style.configure("TButton", padding=5, font=('Arial', 12))
|
|
|
+style.configure("TEntry", padding=5, font=('Arial', 12))
|
|
|
+
|
|
|
+a_label = ttk.Label(root, text="Введите значение a:")
|
|
|
+a_label.pack(pady=5)
|
|
|
+a_entry = ttk.Entry(root, width=20)
|
|
|
+a_entry.pack(pady=5)
|
|
|
+
|
|
|
+b_label = ttk.Label(root, text="Введите значение b:")
|
|
|
+b_label.pack(pady=5)
|
|
|
+b_entry = ttk.Entry(root, width=20)
|
|
|
+b_entry.pack(pady=5)
|
|
|
+
|
|
|
+generate_button = ttk.Button(root, text="Сгенерировать числа", command=generate_numbers)
|
|
|
+generate_button.pack(pady=10)
|
|
|
+
|
|
|
+m_label = ttk.Label(root, text="m = ")
|
|
|
+m_label.pack(pady=5)
|
|
|
+
|
|
|
+n_label = ttk.Label(root, text="n = ")
|
|
|
+n_label.pack(pady=5)
|
|
|
+
|
|
|
+integer_numbers_label = ttk.Label(root, text="Целые числа: ")
|
|
|
+integer_numbers_label.pack(pady=5)
|
|
|
+
|
|
|
+float_numbers_label = ttk.Label(root, text="Вещественные числа: ")
|
|
|
+float_numbers_label.pack(pady=5)
|
|
|
+
|
|
|
+
|
|
|
+root.mainloop()
|