Python GUI 三角形面积计算器

使用 Python Tkinter 库创建图形用户界面 (GUI),设计一个简单的三角形面积计算器。用户输入三条边长,程序判断是否能构成三角形并计算其面积。

代码

import tkinter as tk
from tkinter import messagebox
from math import sqrt

def is_triangle(a, b, c):
    if a <= 0 or b <= 0 or c <= 0:
        return False
    if a + b <= c or a + c <= b or b + c <= a:
        return False
    return True

def calculate_area(a, b, c):
    p = (a + b + c) / 2
    area = sqrt(p * (p-a) * (p-b) * (p-c))
    return area

def calculate():
    a = float(entry_a.get())
    b = float(entry_b.get())
    c = float(entry_c.get())
    if not is_triangle(a, b, c):
        messagebox.showerror('错误', '无法构成三角形')
        return
    area = calculate_area(a, b, c)
    messagebox.showinfo('结果', '三角形的面积为:%.2f' % area)

root = tk.Tk()
root.title('面积计算器')
root.geometry('250x150')

label_a = tk.Label(root, text='边长a:')
label_a.grid(row=0, column=0, padx=10, pady=10)

entry_a = tk.Entry(root)
entry_a.grid(row=0, column=1, padx=10, pady=10)

label_b = tk.Label(root, text='边长b:')
label_b.grid(row=1, column=0, padx=10, pady=10)

entry_b = tk.Entry(root)
entry_b.grid(row=1, column=1, padx=10, pady=10)

label_c = tk.Label(root, text='边长c:')
label_c.grid(row=2, column=0, padx=10, pady=10)

entry_c = tk.Entry(root)
entry_c.grid(row=2, column=1, padx=10, pady=10)

button = tk.Button(root, text='计算面积', command=calculate)
button.grid(row=3, column=0, columnspan=2, padx=10, pady=10)

root.mainloop()

运行结果

面积计算器

代码解释

  1. 导入必要的库:tkinter 用于创建 GUI,messagebox 用于显示消息框,math 用于计算平方根。
  2. 定义 is_triangle() 函数,用于判断三个边长是否能构成三角形。
  3. 定义 calculate_area() 函数,用于计算三角形面积。
  4. 定义 calculate() 函数,用于获取用户输入的三条边长,判断是否能构成三角形,并计算面积并显示结果。
  5. 创建主窗口 root,设置标题和大小。
  6. 使用 LabelEntry 创建输入框,用于用户输入三条边长。
  7. 使用 Button 创建按钮,点击后执行 calculate() 函数。
  8. 运行 root.mainloop() 启动 GUI 循环,监听用户事件。

总结

本代码使用 Python Tkinter 库设计了一个简单的三角形面积计算器,用户可以通过输入三条边长来判断是否能构成三角形并计算其面积。代码简洁易懂,可供初学者学习和参考。

更多学习资料:

Python GUI 三角形面积计算器 - 使用 Tkinter

原文地址: https://www.cveoy.top/t/topic/nL91 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录