PyWebio 是一個 Python 函式庫,可用於建立需要更簡單 UI 的 Web 應用程式。它提供了多種功能來創建簡單的網頁瀏覽器。任何人都可以使用 PyWebio 建立簡單的 Web 應用程序,而無需事先了解 HTML 和 JavaScript。
本教學將說明建立網路來計算 BMI 的兩種方法。身體質量指數 (BMI) 根據體重和身高來衡量體內脂肪。它通常用於確定一個人是否體重不足、正常、超重或肥胖。
在此範例中,我們定義了一個「BMICalculator」類,其中包含計算和分類 BMI 所需的所有方法。 ‘__init__’方法將物件的屬性初始化為 None。
接下來,我們使用「get_user_inputs()」方法,該方法使用「input()」函數來取得使用者的身高和體重。然後‘calculate_bmi()’方法使用公式計算BMI並將結果四捨五入到小數點後兩位。 ‘classify_weight_category()’方法使用 if-elif-else 語句根據計算的 BMI 對使用者的體重類別進行分類。 “display_results()”方法使用“put_text()”函數向使用者顯示 BMI 和體重類別。
最後,我們定義了「calculate_bmi()」函數,該函數建立 BMICalculator 類別的實例,依序呼叫其方法,並向使用者顯示結果。此函數用作 PyWebIO 應用程式的入口點。
from pywebio.input import input, FLOAT from pywebio.output import put_text class BMICalculator: def __init__(self): self.height = None self.weight = None self.bmi = None self.classification = None def calculate_bmi(self): # Get user's height and weight self.height = input("Please enter your height in meters (m):", type=FLOAT) self.weight = input("Please enter your weight in kilograms (kg):", type=FLOAT) # Calculate BMI self.bmi = self.weight / (self.height ** 2) # Determine BMI classification if self.bmi < 16: self.classification = "Severely underweight" elif self.bmi < 18.5: self.classification = "Underweight" elif self.bmi < 25: self.classification = "Normal (healthy weight)" elif self.bmi < 30: self.classification = "Overweight" elif self.bmi < 35: self.classification = "Moderately obese" else: self.classification = "Severely obese" # Display results to the user put_text("Based on your height of {}m and weight of {}kg, your BMI is {:.1f}. This means you are classified as {}.".format(self.height, self.weight, self.bmi, self.classification)) # Create BMICalculator object bmi_calculator = BMICalculator() # Calculate BMI and display results bmi_calculator.calculate_bmi()
當您運行上面的 python 腳本時,它將打開一個新窗口,如下所示 -
#輸入您的身高(米),然後按一下「提交」按鈕。點擊“提交”按鈕後,將顯示以下畫面 -
#現在輸入您的體重(以公斤為單位),然後再次點擊「提交」按鈕。點擊「提交」按鈕後,將顯示結果如下 -
Based on your height of 1.7m and weight of 65kg, your BMI is 22.5. This means you are classified as Normal (healthy weight).
這是創建 bmi Web 應用程式的另一種簡單方法。在此範例中,我們定義了「calculate_bmi()」函數,提示使用者輸入身高和體重。然後,它使用公式體重/(身高/100)^2 計算 BMI,四捨五入到小數點後兩位,並使用“put_text()”函數顯示結果。接下來,它使用一系列 if 語句根據計算的 BMI 來確定體重類別。
最後,我們使用「start_server()」函數啟動網路應用程式並顯示 BMI 計算器。然後,我們將 Web 應用程式的標題設為“BMI 計算器”,並將“計算”按鈕上的文字設定為“計算 BMI”。
from pywebio.input import * from pywebio.output import * from pywebio import start_server def calculate_bmi(): height = input("Enter your height (in cm)", type=FLOAT) weight = input("Enter your weight (in kg)", type=FLOAT) bmi = weight / ((height/100) ** 2) bmi = round(bmi, 2) weight_category = "" if bmi < 18.5: weight_category = "underweight" elif 18.5 <= bmi <= 24.9: weight_category = "normal weight" elif 25 <= bmi <= 29.9: weight_category = "overweight" else: weight_category = "obese" put_text("Your BMI is: %s" % bmi) put_text("You have a %s" % weight_category) if __name__ == '__main__': start_server(calculate_bmi, port=80, debug=True, title="BMI Calculator", button_text="Calculate BMI")
當您運行上面的 python 腳本時,它將打開一個新窗口,如下所示 -
#輸入您的身高(米),然後按一下「提交」按鈕。點擊“提交”按鈕後,將顯示以下畫面 -
#現在輸入您的體重(以公斤為單位),然後再次點擊「提交」按鈕。點擊「提交」按鈕後,將顯示結果如下 -
Your BMI is: 21.22 You have a normal weight
我們了解到 Pywebio 是一個用於建立簡單 Web 應用程式的強大函式庫。開發人員可以輕鬆製作需要更簡單 UI 的 Web 應用程式。它提供了輸入/輸出函數來處理Python變數和網頁元素之間的轉換,從而可以輕鬆建立互動式Web介面。 PyWebIO 的主要優勢之一是它的易用性。我們可以透過安裝函式庫並將必要的函數匯入到您的 Python 程式碼中來快速開始。 PyWebIO 還提供了各種內建小部件,例如文字方塊、下拉式選單和按鈕,可以輕鬆地將它們合併到 Web 應用程式中。它支援多種Web框架,包括Flask、Django和Tornado,可以輕鬆與現有Python Web應用程式整合
以上是如何使用Python和PyWebIO創建BMI計算器Web應用程式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!