Python implementiert schnell den BMI-Rechner (Body-Mass-Index) (Fensterschnittstellenformular).

BMI ist die Abkürzung für Body Mass Index, ein Indikator für Fettleibigkeit beim Menschen. Er wird auf der Grundlage der Größe und des Gewichts einer Person berechnet. Die Formel lautet:

BMI = Gewicht (kg)/Größe^2 (m)

Dabei wird das Gewicht in Kilogramm und die Körpergröße in Metern angegeben. Basierend auf den Berechnungsergebnissen können die Körpertypen der Menschen in vier Stufen eingeteilt werden: dünn, normal, übergewichtig und fettleibig.

Der Bereich des BMI-Index und die entsprechenden Werte sind wie folgt:

  • BMI < 18,5, Untergewicht
  • 18,5 <= BMI < 24,9, normal
  • 24,9 <= BMI < 29,9, Übergewicht
  • BMI >= 30, fettleibig
     

 Der vollständige Quellcode lautet wie folgt:

import tkinter as tk
from tkinter import messagebox

def calculate_bmi():
    try:
        height = float(height_entry.get()) / 100  # 转换为米
        weight = float(weight_entry.get())
        bmi = weight / (height * height)
        bmi = round(bmi, 1)  # 保留一位小数

        if bmi < 18.5:
            category = "偏瘦"
            range_info = "偏瘦范围: < 18.5"
        elif bmi < 24.9:
            category = "正常"
            range_info = "正常范围: 18.5 - 24.9"
        elif bmi < 29.9:
            category = "超重"
            range_info = "超重范围: 25 - 29.9"
        else:
            category = "肥胖"
            range_info = "肥胖范围: >= 30"

        result_label.config(text=f"BMI指数: {bmi}")
        category_label.config(text=f"等级: {category}")
        range_label.config(text=range_info)
    except ValueError:
        messagebox.showerror("错误", "请输入有效的身高和体重!")

# 创建窗口
window = tk.Tk()
window.title("BMI指数计算")
window.geometry("600x400")

# 创建标签和输入框
height_label = tk.Label(window, text="身高(cm):", font=("Arial", 14))
height_label.pack()
height_entry = tk.Entry(window, font=("Arial", 14))
height_entry.pack()

weight_label = tk.Label(window, text="体重(kg):", font=("Arial", 14))
weight_label.pack()
weight_entry = tk.Entry(window, font=("Arial", 14))
weight_entry.pack()

# 创建计算按钮
calculate_button = tk.Button(window, text="计算", command=calculate_bmi, font=("Arial", 14))
calculate_button.pack()

# 创建结果标签
result_label = tk.Label(window, text="BMI指数: ", font=("Arial", 16, "bold"))
result_label.pack()

category_label = tk.Label(window, text="等级: ", font=("Arial", 16, "bold"))
category_label.pack()

range_label = tk.Label(window, text="", font=("Arial", 14))
range_label.pack()

# 运行窗口
window.mainloop()

Die laufenden Ergebnisse sind wie folgt. Die Höhe wurde während des Berechnungsprozesses in Meter umgerechnet. Dies dient der einfacheren Eingabe:

Supongo que te gusta

Origin blog.csdn.net/qq_38563206/article/details/134686171
Recomendado
Clasificación