编写一个应用程序,在窗口输入a、b、c三个数值,实现ax2+bx+c=0的求解,并将最终的求解的结果在窗口显示出来。
时间: 2024-03-15 09:46:10 浏览: 51
好的,我可以为您提供一个Python的GUI程序来实现您的需求。您可以使用Tkinter库来创建GUI界面,并使用公式求解二次方程。
下面是程序代码:
```python
import tkinter as tk
from tkinter import messagebox
import math
def solve_quad_eq(event):
try:
a = float(a_entry.get())
b = float(b_entry.get())
c = float(c_entry.get())
delta = b ** 2 - 4 * a * c
if delta < 0:
messagebox.showinfo("Error", "No real root!")
elif delta == 0:
x = -b / (2 * a)
result_label.config(text="x = {}".format(x))
else:
x1 = (-b + math.sqrt(delta)) / (2 * a)
x2 = (-b - math.sqrt(delta)) / (2 * a)
result_label.config(text="x1 = {}, x2 = {}".format(x1, x2))
except ValueError:
messagebox.showinfo("Error", "Invalid input!")
root = tk.Tk()
root.geometry("300x200")
root.title("Quadratic Equation Solver")
a_label = tk.Label(root, text="a:")
a_label.place(x=30, y=30)
a_entry = tk.Entry(root, width=10)
a_entry.place(x=80, y=30)
b_label = tk.Label(root, text="b:")
b_label.place(x=30, y=70)
b_entry = tk.Entry(root, width=10)
b_entry.place(x=80, y=70)
c_label = tk.Label(root, text="c:")
c_label.place(x=30, y=110)
c_entry = tk.Entry(root, width=10)
c_entry.place(x=80, y=110)
solve_button = tk.Button(root, text="Solve")
solve_button.bind("<Button-1>", solve_quad_eq)
solve_button.place(x=130, y=150)
result_label = tk.Label(root, text="")
result_label.place(x=30, y=180)
root.mainloop()
```
您可以复制代码并在本地运行。当您输入三个数值并单击"Solve"按钮时,程序将计算二次方程的根并在界面上显示结果。
阅读全文