Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Подредактируйте и дополните код чтобы он выводил не только ответ но и показывал полностью как решали.Заранее спасибо.

Никита Мельников Ученик (160), на голосовании 10 месяцев назад
import math

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)
Голосование за лучший ответ
Tester Мудрец (14480) 11 месяцев назад
А что тебе тут не понятно? Вроде сам можешь комментарии дописать.
Помню когда-то давно сам делал прогу для решения квадратного уравнения еще в школе, причем на паскале.

Импортируется модуль 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()
Похожие вопросы