เขียนฟังก์ชันแปลงเซนติเมตร เป็น นิ้ว เมตร และวา

 

โจทย์

จงเขียนฟังก์ชันแปลงเซนติเมตร เป็น นิ้ว เมตร และวา ตามอัตราส่วนดังนี้

\[1 \text{ นิ้ว } = 2.54 \text{ เซนติเมตร}\]
\[1 \text{ เมตร } = 100 \text{ เซนติเมตร}\]
\[1 \text{ วา } = 200 \text{ เซนติเมตร}\]

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

\[cm \rightarrow inch = \frac{cm}{2.54}\]
\[cm \rightarrow meter = \frac{cm}{100}\]
\[cm \rightarrow wa = \frac{cm}{200}\]

โปรแกรม

ฟังก์ชันธรรมดา

def cm_to_inch(cm):
    return cm / 2.54

def cm_to_meter(cm):
    return cm / 100

def cm_to_wa(cm):
    return cm / 200

ฟังก์ชันแลมบ์ด้า

cm_to_inch = lambda cm: cm / 2.54
cm_to_meter = lambda cm: cm / 100
cm_to_wa = lambda cm: cm / 200

ฟังก์ชันธรรมดาที่มีการระบุประเภทข้อมูล

def cm_to_inch(cm: float) -> float:
    return cm / 2.54

def cm_to_meter(cm: float) -> float:
    return cm / 100

def cm_to_wa(cm: float) -> float:
    return cm / 200

คำอธิบายโปรแกรม

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

  1. ฟังก์ชันธรรมดา:

    • cm_to_inch(cm): แปลงเซนติเมตรเป็นนิ้ว

    • cm_to_meter(cm): แปลงเซนติเมตรเป็นเมตร

    • cm_to_wa(cm): แปลงเซนติเมตรเป็นวา

  2. ฟังก์ชันแลมบ์ด้า:

    • cm_to_inch: ฟังก์ชันแลมบ์ด้าสำหรับแปลงเซนติเมตรเป็นนิ้ว

    • cm_to_meter: ฟังก์ชันแลมบ์ด้าสำหรับแปลงเซนติเมตรเป็นเมตร

    • cm_to_wa: ฟังก์ชันแลมบ์ด้าสำหรับแปลงเซนติเมตรเป็นวา

  3. ฟังก์ชันธรรมดาที่มีการระบุประเภทข้อมูล:

    • cm_to_inch(cm: float) -> float: แปลงเซนติเมตรเป็นนิ้ว โดยระบุว่าพารามิเตอร์และค่าที่ส่งคืนเป็นประเภท float

    • cm_to_meter(cm: float) -> float: แปลงเซนติเมตรเป็นเมตร โดยระบุว่าพารามิเตอร์และค่าที่ส่งคืนเป็นประเภท float

    • cm_to_wa(cm: float) -> float: แปลงเซนติเมตรเป็นวา โดยระบุว่าพารามิเตอร์และค่าที่ส่งคืนเป็นประเภท float

ความแตกต่างของฟังก์ชันแต่ละรูปแบบ:

  1. ฟังก์ชันธรรมดา: เป็นรูปแบบพื้นฐานที่ใช้คำสั่ง def ในการสร้างฟังก์ชัน เหมาะสำหรับฟังก์ชันที่มีหลายบรรทัดหรือมีความซับซ้อน

  2. ฟังก์ชันแลมบ์ด้า: เป็นฟังก์ชันแบบสั้นๆ ที่เขียนในบรรทัดเดียวโดยใช้คำสั่ง lambda เหมาะสำหรับฟังก์ชันที่มีการคำนวณในบรรทัดเดียวและไม่ต้องการชื่อฟังก์ชัน

  3. ฟังก์ชันธรรมดาที่มีการระบุประเภทข้อมูล: คล้ายกับฟังก์ชันธรรมดา แต่มีการระบุประเภทข้อมูลของพารามิเตอร์และค่าที่ส่งคืน ช่วยให้โค้ดอ่านง่ายขึ้น ลดข้อผิดพลาดจากการใช้ข้อมูลผิดประเภท และเพิ่มความชัดเจนในการใช้งานฟังก์ชัน

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