import tkinter as tk
from tkinter import messagebox
def is_triangle(a, b, c):
return (a + b > c) and (a + c > b) and (b + c > a)
def check_triangle():
try:
a = float(entry_a.get())
b = float(entry_b.get())
c = float(entry_c.get())
# 检查边长是否为正数
if a <= 0 or b <= 0 or c <= 0:
messagebox.showerror("错误", "请输入正数。")
returnif is_triangle(a, b, c):
# 检查特殊三角形
if a == b == c:
messagebox.showinfo("结果", "这三条边可以组成一个等边三角形。")
elif a == b or b == c or a == c:
messagebox.showinfo("结果", "这三条边可以组成一个等腰三角形。")
elif (a**2 + b**2 == c**2) or (a**2 + c**2 == b**2) or (b**2 + c**2 == a**2):
messagebox.showinfo("结果", "这三条边可以组成一个直角三角形。")
else:
messagebox.showinfo("结果", "这三条边可以组成一个普通三角形。")
else:
messagebox.showinfo("结果", "这三条边不能组成一个三角形。")
except ValueError:
messagebox.showerror("错误", "请输入有效的数字。")
# 创建主窗口
root = tk.Tk()
root.title("三角形判断")
# 输入框
tk.Label(root, text="边长 a:").pack()
entry_a = tk.Entry(root)
entry_a.pack()
tk.Label(root, text="边长 b:").pack()
entry_b = tk.Entry(root)
entry_b.pack()
tk.Label(root, text="边长 c:").pack()
entry_c = tk.Entry(root)
entry_c.pack()
# 检查按钮
check_button = tk.Button(root, text="检查三角形", command=check_triangle)
check_button.pack()
root.mainloop()