Browse Source

Загрузить файлы 'ОАиП/2024-25/36гр/2 сем/Д.Зачет'

u22kulaga 1 week ago
parent
commit
8c6aa80f0a
1 changed files with 67 additions and 0 deletions
  1. 67 0
      ОАиП/2024-25/36гр/2 сем/Д.Зачет/Кулага_10.3.py

+ 67 - 0
ОАиП/2024-25/36гр/2 сем/Д.Зачет/Кулага_10.3.py

@@ -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()