А что тебе тут не понятно? Вроде сам можешь комментарии дописать.
Помню когда-то давно сам делал прогу для решения квадратного уравнения еще в школе, причем на паскале.
Импортируется модуль math, чтобы использовать функцию sqrt.
Пользователю предлагается ввести значения a, b и c.
Вычисляется дискриминант b^2 - 4ac.
Если дискриминант меньше 0, уравнение не имеет действительных корней, и выводится сообщение об этом.
Если дискриминант равен 0, у уравнения один действительный корень, который вычисляется по формуле -b/2a, и выводится этот корень.
Если дискриминант больше 0, у уравнения два действительных корня, которые вычисляются с помощью квадратной формулы, и оба корня выводятся на экран.
Обратите внимание, что функция float используется для преобразования входных данных пользователя в числа с плавающей запятой, что позволяет программе работать с десятичными значениями.
import math
import tkinter as tk
def solve_equation():
a = float(entry_a.get())
b = float(entry_b.get())
c = float(entry_c.get())
discriminant = b**2 - 4*a*c
if discriminant < 0:
label_result.config(
text="Дискриминант меньше 0, уравнение не имеет корней")
elif discriminant == 0:
x = -b / (2*a)
label_result.config(text=f"Уравнение имеет один корень: x = {x}")
else:
x1 = (-b + math.sqrt(discriminant)) / (2*a)
x2 = (-b - math.sqrt(discriminant)) / (2*a)
label_result.config(
text=f"Уравнение имеет два корня: x1 = {x1}, x2 = {x2}")
# Создание графического интерфейса
root = tk.Tk()
root.title("Решение квадратного уравнения")
# Создание элементов управления (widgets)
label_a = tk.Label(root, text="a:")
entry_a = tk.Entry(root)
label_b = tk.Label(root, text="b:")
entry_b = tk.Entry(root)
label_c = tk.Label(root, text="c:")
entry_c = tk.Entry(root)
button_solve = tk.Button(root, text="Решить", command=solve_equation)
label_result = tk.Label(root, text="Результат:")
# Размещение элементов на форме
label_a.grid(row=0, column=0)
entry_a.grid(row=0, column=1)
label_b.grid(row=1, column=0)
entry_b.grid(row=1, column=1)
label_c.grid(row=2, column=0)
entry_c.grid(row=2, column=1)
button_solve.grid(row=3, column=0, columnspan=2, pady=10)
label_result.grid(row=4, column=0, columnspan=2)
# Запуск главного цикла обработки событий
root.mainloop()

a = float(input("Введите a: "))
b = float(input("Введите b: "))
c = float(input("Введите c: "))
discriminant = b**2 - 4*a*c
if discriminant < 0:
print("Дискриминант меньше 0, уравнение не имеет корней")
elif discriminant == 0:
x = -b / (2*a)
print("Уравнение имеет один корень: x =", x)
else:
x1 = (-b + math.sqrt(discriminant)) / (2*a)
x2 = (-b - math.sqrt(discriminant)) / (2*a)
print("Уравнение имеет два корня: x1 =", x1, "x2 =", x2)