เขียนฟังก์ชันแปลงเซนติเมตร เป็น นิ้ว เมตร และวา
โจทย์
จงเขียนฟังก์ชันแปลงเซนติเมตร เป็น นิ้ว เมตร และวา ตามอัตราส่วนดังนี้
โดยใช้สูตรดังนี้
โปรแกรม
ฟังก์ชันธรรมดา
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
คำอธิบายโปรแกรม
โปรแกรมนี้แสดงการสร้างฟังก์ชันสำหรับการแปลงหน่วยความยาวจากเซนติเมตรเป็นนิ้ว เมตร และวา โดยมีการเขียนฟังก์ชันในรูปแบบต่างๆ ดังนี้:
ฟังก์ชันธรรมดา:
cm_to_inch(cm)
: แปลงเซนติเมตรเป็นนิ้วcm_to_meter(cm)
: แปลงเซนติเมตรเป็นเมตรcm_to_wa(cm)
: แปลงเซนติเมตรเป็นวา
ฟังก์ชันแลมบ์ด้า:
cm_to_inch
: ฟังก์ชันแลมบ์ด้าสำหรับแปลงเซนติเมตรเป็นนิ้วcm_to_meter
: ฟังก์ชันแลมบ์ด้าสำหรับแปลงเซนติเมตรเป็นเมตรcm_to_wa
: ฟังก์ชันแลมบ์ด้าสำหรับแปลงเซนติเมตรเป็นวา
ฟังก์ชันธรรมดาที่มีการระบุประเภทข้อมูล:
cm_to_inch(cm: float) -> float
: แปลงเซนติเมตรเป็นนิ้ว โดยระบุว่าพารามิเตอร์และค่าที่ส่งคืนเป็นประเภท floatcm_to_meter(cm: float) -> float
: แปลงเซนติเมตรเป็นเมตร โดยระบุว่าพารามิเตอร์และค่าที่ส่งคืนเป็นประเภท floatcm_to_wa(cm: float) -> float
: แปลงเซนติเมตรเป็นวา โดยระบุว่าพารามิเตอร์และค่าที่ส่งคืนเป็นประเภท float
ความแตกต่างของฟังก์ชันแต่ละรูปแบบ:
ฟังก์ชันธรรมดา: เป็นรูปแบบพื้นฐานที่ใช้คำสั่ง
def
ในการสร้างฟังก์ชัน เหมาะสำหรับฟังก์ชันที่มีหลายบรรทัดหรือมีความซับซ้อนฟังก์ชันแลมบ์ด้า: เป็นฟังก์ชันแบบสั้นๆ ที่เขียนในบรรทัดเดียวโดยใช้คำสั่ง
lambda
เหมาะสำหรับฟังก์ชันที่มีการคำนวณในบรรทัดเดียวและไม่ต้องการชื่อฟังก์ชันฟังก์ชันธรรมดาที่มีการระบุประเภทข้อมูล: คล้ายกับฟังก์ชันธรรมดา แต่มีการระบุประเภทข้อมูลของพารามิเตอร์และค่าที่ส่งคืน ช่วยให้โค้ดอ่านง่ายขึ้น ลดข้อผิดพลาดจากการใช้ข้อมูลผิดประเภท และเพิ่มความชัดเจนในการใช้งานฟังก์ชัน
การเลือกใช้รูปแบบฟังก์ชันขึ้นอยู่กับความเหมาะสมของงาน ความซับซ้อนของฟังก์ชัน และรูปแบบการเขียนโค้ดที่ต้องการ