ให้เรตสมาชิก: 3 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

     Body Mass Index (BMI) หรือ ค่าดัชนีมวลกาย คือค่าดัชนีที่ใช้ชี้วัดความสมดุลของน้ำหนักตัว (กิโลกรัม) และส่วนสูง (เซนติเมตร) ซึ่งสามารถระบุได้ว่า ตอนนี้รูปร่างของคนคนนั้นอยู่ในระดับใด ตั้งแต่อ้วนมากไปจนถึงผอมเกินไป ถ้าค่าดัชนีมวลกายอยู่ในระดับสูง เราก็จะรู้ได้เลยว่าร่างกายมีระดับไขมันในร่างกายสูง ซึ่งก็อาจจะทำให้เสี่ยงเป็นโรคอ้วน โรคเบาหวาน และโรคเรื้อรังอื่นๆ เช่น โรคหัวใจ โรคความดันโลหิตสูง และโรคเบาหวาน เป็นต้น ซึ่งเราก็สามารถออกกำลังกายเพื่อทำการเผาผลาญแคลอรี่ เพื่อช่วยในการลดค่าดัชนีมวลกายได้ แต่ก็ไม่ได้หมายความว่าค่าต่ำจะดี เพราะถ้าหากค่าดัชนีมวลกายอยู่ในระดับต่ำเกินไปอาจจะเสี่ยงเป็นโรคกระดูกพรุน ดังนั้นเราจึงควรตรวจสอบค่าดัชนีมวลกายของเราอยู่เสมอๆ ซึ่งการตรวจสอบที่ดีควรไปทำอย่างละเอียดที่โรงพยาบาล เพื่อที่คุณหมอจะได้ประเมิณสัดส่วนได้อย่างถูกต้อง แต่ปัจจุบันนี้ก็มีโปรแกรมคำนวณค่าดัชนีมวลกายคุณสามารถทำได้ง่ายๆ ด้วยตัวเอง ซึ่งในบทความนี้เราจะมาพูดถึงวิธีการคำนวณหาค่าดัชนีมวลกายด้วย Python กัน 

โดยจะใช้สูตรดังนี้

BMI = น้ำหนัก / ส่วนสูงยกกำลังสอง แล้วเทียบลักษณะรูปร่างดังนี้

BMI ลักษณะรูปร่าง
>=40 อ้วนขั้นสูงสุด
>=35 อ้วนขั้นที่ 2
>=28.5 อ้วนขั้นที่ 1
>=23.5 น้ำหนักเกิน
>=18.5 อยู่ในเกณฑ์ปกติ
<18.5 น้ำหนักต่ำกว่าเกณฑ์

เนื่องจากว่าในสูตรมีการใช้เลขยกกำลัง ดังนี้ให้จึงต้องทำการเรียกใช้โมดูล math โดยใช้

import math 

จากนั้นให้เราทำการกำหนดตัวแปร เพื่อใช้รับค่าน้ำหนักและส่วนสูงจากทางคีย์บอร์ด โดยในตัวอย่างนี้ต้องการรับค่าส่วนสูงเป็นเซนติเมตร

height = float(input('ส่วนสูง(เซนติเมตร) :'))
weight = float(input('น้ำหนัก(กิโลกรัม) :'))

และเนื่องจากว่าเราต้องการรับค่าส่วนสูงเป็นเซนติเมตร เราจึงต้องทำการเปลี่ยนเป็นเมตรเพื่อนำไปคำนวณ ด้วยการหารด้วย 100 จากนั้นก็สร้างตัวแปรเพื่อคำนวณหาค่า bmi

h = height / 100
bmi = (weight/(math.pow(h,2))) #ใช้ฟังก์ชัน math.pow มาช่วยในการยกกำลัง

จากนั้นก็จะเป็นการกำหนดเงื่อนไขต่างๆ โดยให้เรากำหนดตามตารางจากข้างต้น 

if bmi >= 40:              #หากว่าค่า bmi ที่คำนวณออกมามากกว่า 40 จะทำการแสดง 'อ้วนขั้นสูงสุด'
    shape = 'อ้วนขั้นสูงสุด'
elif bmi >= 35:
    shape = 'อ้วนขั้นที่ 2'
elif bmi >= 28.5:
    shape = 'อ้วนขั้นที่ 1'
elif bmi >= 23.5:
    shape = 'น้ำหนักเกิน'
elif bmi >= 18.5:
    shape = 'อยู่ในเกณฑ์ปกติ' 
else:                        #หากไม่ตรงเงื่อนไขจากข้างต้นเลย จะทำการแสดง 'น้ำหนักต่ำกว่าเกณฑ์'
    shape = 'น้ำหนักต่ำกว่าเกณฑ์'

และสุดท้ายจะเป็นการแสดงผล เมื่อเราทำการคำนวณเรียบร้อยแล้ว

print 'ค่า BMI คือ ' ,format(bmi , '.2f')  #ในส่วนนี้จะเป็นการแสดงผลแค่ทศนิยม 2 ตำแหน่ง
print 'ลักษณะรูปร่างคือ ',shape

ภาพรวมโค้ด

import math

height = float(input('ส่วนสูง(เซนติเมตร) :'))
weight = float(input('น้ำหนัก(กิโลกรัม) :'))
h = height / 100
bmi = (weight/(math.pow(h,2)))

if bmi >= 40:
    shape = 'อ้วนขั้นสูงสุด'
elif bmi >= 35:
    shape = 'อ้วนขั้นที่ 2'
elif bmi >= 28.5:
    shape = 'อ้วนขั้นที่ 1'
elif bmi >= 23.5:
    shape = 'น้ำหนักเกิน'
elif bmi >= 18.5:
    shape = 'อยู่ในเกณฑ์ปกติ'
else:
    shape = 'น้ำหนักต่ำกว่าเกณฑ์'

print 'ค่า BMI คือ ' ,format(bmi , '.2f')
print 'ลักษณะรูปร่างคือ ',shape

ตัวอย่างการใช้งาน

ผลลัพธ์จากการใช้งานโค้ดข้างต้น
ตัวอย่างผลลัพธ์

     ผลลัพธ์ที่ออกมาจากการทดลองใช้งาน เมื่อเรากำหนดส่วนสูงเท่ากับ 175 และน้ำหนักเท่ากับ 75 โปรแกรมก็จะทำการคำนวณ และนำไปเปรียบเทียบกับเงื่อนไขต่างๆที่เราได้ทำการกำหนดเอาไว้ จากนั้นก็จะแสดงผลออกมาเมื่อตรงกับเงื่อนไขเหล่านั้น

     เพียงเท่านี้เราก็สามารถสร้างโปรแกรมสำหรับคำนวณหาค่าดัชนีมวลกายได้แล้ว ซึ่งการหาค่า BMI ที่ดีควรไปทำอย่างละเอียดที่โรงพยาบาลเพราะจำมีประสิทธิภาพแล้วความแม่นยำที่มากกว่า ทั้งนี้การใช้โปรแกรมในการคำนวณเองอาจจะทำให้เราทราบถึงค่าไขมันในร่างกายได้ก็จริง แต่ก็ได้ในปริมาณคร่าวๆเท่านั้น แต่ก็เพียงพอต่อการประเมินสภาวะ ณ ปัจจุบันของตัวเราเองได้ ซึ่งค่า BMI นี้ไม่เพียงแต่จะเหมาะกับผู้ที่สนใจสุขภาพและชื่นชอบการออกกำลังกายเพียงเท่านั้น แต่ยังสามารถนำไปใช้ได้กับบุคคลทั่วๆไป รวมถึงผู้ที่ต้องการควบคุมน้ำหนักก็สามารถใช้ประโยชน์จากค่านี้ได้เช่นเดียวกัน

 

ใช้งาน โปรแกรมออนไลน์ BMI

ช่องทางการศึกษาเพิ่มเติมเกี่ยวกับ : Python 

การรับค่าจากแป้นพิมพ์ใน Python (ไพทอน)

ประวัติความเป็นมาของ ภาษา Python (ไพทอน)

การรับของข้อมูลจาก Keyboard ใน Python raw_input input

ตัวแปรที่ใช้ในฟังก์ชันการคำนวณตัวเลขเเละการแทนค่า ใน Pytho (ไพทอน)

ตัวดำเนินการ (Operator) สำหรับเปรียบเทียบความสัมพันธ์ใน Python (ไพทอน)

Chayapol
, การคำนวณหาค่าดัชณีมวลกาย BMI ด้วย Python - by เทคนิคการเขียน Python,
3 2 1 5
กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
Q - สอบถามทำให้ mouse over ที่ไอคอนรูปวงกลม แล้วให้แสดงรูปที่เป็นข้อความขึ้น
โดย eange08 ศ 05 มี.ค. 2021 4:52 pm บอร์ด Joomla Dev
1
4
ศ 05 มี.ค. 2021 5:47 pm โดย tsukasaz
กลุ่มประเทศผู้ส่งออกข้าว
โดย jataz2 ศ 05 มี.ค. 2021 11:07 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
11
ศ 05 มี.ค. 2021 11:07 am โดย jataz2
Q - พอมี module หรือ plugin ที่เป็นพวก social อย่าง line, ig บ้างไหมค่ะ
โดย eange08 พฤ 04 มี.ค. 2021 5:21 pm บอร์ด Joomla Dev
1
7
พฤ 04 มี.ค. 2021 5:26 pm โดย tsukasaz
reboot เครื่องไม่ได้ครับ
โดย chakirin.bfds พฤ 04 มี.ค. 2021 12:25 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
34
พฤ 04 มี.ค. 2021 3:14 pm โดย chakirin.bfds
แก้ css ส่วน padding ด้วย override แล้วไม่เปลี่ยนตาม
โดย eange08 พ 03 มี.ค. 2021 4:43 pm บอร์ด Joomla Development
1
22
พ 03 มี.ค. 2021 4:47 pm โดย tsukasaz
Joomla PDPA ใช้ EB Sticky Cookie Notice โมดูล แสดงแจ้งเตือนการเก็บข้อมูล Cookie ของผู้ใช้งาน
โดย tsukasaz พ 03 มี.ค. 2021 4:39 pm บอร์ด Joomla Extension Review
0
21
พ 03 มี.ค. 2021 4:39 pm โดย tsukasaz
อัพเดทหรือยัง? ปรับปรุงเรื่องความปลอดภัย 9 จุด ใน Joomla 3.9.25
โดย tsukasaz พ 03 มี.ค. 2021 12:28 pm บอร์ด MindPHP News & Feedback
0
43
พ 03 มี.ค. 2021 12:28 pm โดย tsukasaz
B - เปิดหน้าเว็บด้วย template เป็น Shaper_megadeal_ii แล้ว Error 404
โดย eange08 พ 03 มี.ค. 2021 12:04 pm บอร์ด เว็บไซต์ Rnyard - Tester
2
7
พ 03 มี.ค. 2021 7:25 pm โดย tsukasaz