编辑代码

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("错误", "请输入正数。")
            return

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