PyWebio ialah perpustakaan Python yang boleh digunakan untuk membina aplikasi web yang memerlukan UI yang lebih ringkas. Ia menyediakan pelbagai ciri untuk mencipta pelayar web yang mudah. Sesiapa sahaja boleh menggunakan PyWebio untuk membina aplikasi web mudah tanpa pengetahuan HTML dan JavaScript terlebih dahulu.
Tutorial ini akan menerangkan dua kaedah mencipta rangkaian untuk mengira BMI. Indeks jisim badan (BMI) mengukur lemak badan berdasarkan berat dan ketinggian. Ia biasanya digunakan untuk menentukan sama ada seseorang itu kurang berat badan, normal, berat badan berlebihan atau obes.
Dalam contoh ini, kami mentakrifkan kelas "BMICalculator" yang mengandungi semua kaedah yang diperlukan untuk mengira dan mengklasifikasikan BMI. Kaedah '__init__' memulakan sifat objek kepada Tiada.
Seterusnya, kami menggunakan kaedah "get_user_inputs()", yang mendapatkan ketinggian dan berat pengguna menggunakan fungsi "input()". Kaedah 'calculate_bmi()' kemudian menggunakan formula untuk mengira BMI dan membundarkan hasilnya kepada dua tempat perpuluhan. Kaedah 'classify_weight_category()' menggunakan pernyataan if-elif-else untuk mengklasifikasikan kategori berat pengguna berdasarkan BMI yang dikira. Kaedah "display_results()" menggunakan fungsi "put_text()" untuk memaparkan BMI dan kategori berat kepada pengguna.
Akhir sekali, kami mentakrifkan fungsi "calculate_bmi()", yang mencipta contoh kelas BMICalculator, memanggil kaedahnya dalam urutan dan memaparkan hasilnya kepada pengguna. Fungsi ini berfungsi sebagai titik masuk ke aplikasi 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()
Apabila anda menjalankan skrip python di atas, ia akan membuka tetingkap baharu seperti yang ditunjukkan di bawah -
Masukkan ketinggian anda dalam meter dan klik butang "Serah". Selepas mengklik butang Hantar, skrin berikut akan muncul -
Sekarang masukkan berat badan anda dalam kilogram dan klik pada butang "Serah" sekali lagi. Selepas klik butang "Submit", keputusan akan dipaparkan seperti berikut -
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).
Ini adalah satu lagi cara mudah untuk membuat aplikasi web bmi. Dalam contoh ini, kami mentakrifkan fungsi "calculate_bmi()" yang menggesa pengguna untuk ketinggian dan berat. Ia kemudian mengira BMI menggunakan formula berat/(tinggi/100)^2, bulatkan kepada dua tempat perpuluhan dan memaparkan keputusan menggunakan fungsi "put_text()". Seterusnya, ia menggunakan satu siri pernyataan if untuk menentukan kategori berat berdasarkan BMI yang dikira.
Akhir sekali, kami menggunakan fungsi "start_server()" untuk memulakan aplikasi web dan memaparkan kalkulator BMI. Kami kemudiannya menetapkan tajuk aplikasi web kepada "Kalkulator BMI" dan teks pada butang "Kira" kepada "Kira 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")
Apabila anda menjalankan skrip python di atas, ia akan membuka tetingkap baharu seperti yang ditunjukkan di bawah -
Masukkan ketinggian anda dalam meter dan klik butang "Serah". Selepas mengklik butang Hantar, skrin berikut akan muncul -
Sekarang masukkan berat anda dalam kilogram dan klik pada butang "Serah" sekali lagi. Selepas klik butang "Submit", keputusan akan dipaparkan seperti berikut -
Your BMI is: 21.22 You have a normal weight
Kami mengetahui bahawa Pywebio ialah perpustakaan yang berkuasa untuk mencipta aplikasi web mudah. Pembangun boleh membuat aplikasi web dengan mudah yang memerlukan UI yang lebih ringkas. Ia menyediakan fungsi input/output untuk mengendalikan penukaran antara pembolehubah Python dan elemen halaman web, menjadikannya mudah untuk membina antara muka web interaktif. Salah satu kelebihan utama PyWebIO ialah kemudahan penggunaannya. Kami boleh bermula dengan cepat dengan memasang perpustakaan dan mengimport fungsi yang diperlukan ke dalam kod Python anda. PyWebIO juga menyediakan pelbagai widget terbina dalam seperti kotak teks, menu lungsur turun, dan butang yang boleh digabungkan dengan mudah ke dalam aplikasi web. Ia menyokong pelbagai rangka kerja web, termasuk Flask, Django dan Tornado, dan boleh disepadukan dengan mudah dengan aplikasi web Python sedia ada
Atas ialah kandungan terperinci Bagaimana untuk membuat aplikasi web kalkulator BMI menggunakan Python dan PyWebIO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!