เขียนฟังก์ชันคำนวณพื้นที่สามเหลี่ยมและฟังก์ชันคำนวณพื้นที่สี่เหลี่ยม
โจทย์
จงเขียนฟังก์ชันคำนวณพื้นที่สามเหลี่ยมและฟังก์ชันคำนวณพื้นที่สี่เหลี่ยม โดยใช้สูตรดังนี้
สมการข้างต้นแสดงสูตรสำหรับการคำนวณพื้นที่ของรูปสามเหลี่ยมและสี่เหลี่ยม:
พื้นที่ของรูปสามเหลี่ยม: \(a_{triangle} = \frac{1}{2} \times base \times height\)
สูตรนี้คำนวณพื้นที่ของรูปสามเหลี่ยมโดยการคูณครึ่งหนึ่งของความยาวฐานด้วยความสูงของสามเหลี่ยม ผลลัพธ์ที่ได้คือพื้นที่ของรูปสามเหลี่ยม
พื้นที่ของรูปสี่เหลี่ยม: \(a_{rectangle} = width \times height\)
สูตรนี้คำนวณพื้นที่ของรูปสี่เหลี่ยมโดยการคูณความกว้างด้วยความสูง ผลลัพธ์ที่ได้คือพื้นที่ทั้งหมดของรูปสี่เหลี่ยม
สูตรเหล่านี้เป็นพื้นฐานสำคัญในเรขาคณิตและใช้ในการคำนวณพื้นที่ของรูปทรงพื้นฐานเหล่านี้ เราจะนำสูตรเหล่านี้ไปใช้ในการสร้างฟังก์ชันในโปรแกรมต่อไป
โปรแกรม
ฟังก์ชันธรรมดา
def triangle_area(base, height):
return 1/2 * base * height
def rectangle_area(width, height):
return width * height
ฟังก์ชันแลมบ์ด้า
triangle_area = lambda base, height: 1/2 *base* height
rectangle_area = lambda width, height: width * height
ฟังก์ชันธรรมดาพร้อมการระบุประเภทข้อมูล
def triangle_area(base: float, height: float) -> float:
return 1/2 * base * height
def rectangle_area(width: float, height: float) -> float:
return width * height
คำอธิบายโปรแกรม
โปรแกรมนี้แสดงการสร้างฟังก์ชันสำหรับคำนวณพื้นที่ของรูปสามเหลี่ยมและสี่เหลี่ยมในรูปแบบต่างๆ ดังนี้:
ฟังก์ชันธรรมดา:
triangle_area(base, height)
: คำนวณพื้นที่สามเหลี่ยมโดยใช้สูตร \(1/2 \times ฐาน \times ความสูง\)rectangle_area(width, height)
: คำนวณพื้นที่สี่เหลี่ยมโดยใช้สูตร \(กว้าง \times ยาว\)
ฟังก์ชันแลมบ์ด้า:
triangle_area
: ฟังก์ชันแลมบ์ด้าสำหรับคำนวณพื้นที่สามเหลี่ยมrectangle_area
: ฟังก์ชันแลมบ์ด้าสำหรับคำนวณพื้นที่สี่เหลี่ยม
ฟังก์ชันธรรมดาพร้อมการระบุประเภทข้อมูล:
triangle_area(base: float, height: float) -> float
: คำนวณพื้นที่สามเหลี่ยม โดยระบุว่าพารามิเตอร์และค่าที่ส่งคืนเป็นประเภท floatrectangle_area(width: float, height: float) -> float
: คำนวณพื้นที่สี่เหลี่ยม โดยระบุว่าพารามิเตอร์และค่าที่ส่งคืนเป็นประเภท float
การสร้างฟังก์ชันทั้งสามรูปแบบข้างต้นมีความแตกต่างกันดังนี้:
ฟังก์ชันธรรมดา: เป็นรูปแบบพื้นฐานที่ใช้คำสั่ง
def
ในการสร้างฟังก์ชัน เหมาะสำหรับฟังก์ชันที่มีหลายบรรทัดหรือมีความซับซ้อนฟังก์ชันแลมบ์ด้า: เป็นฟังก์ชันแบบสั้นๆ ที่เขียนในบรรทัดเดียวโดยใช้คำสั่ง
lambda
เหมาะสำหรับฟังก์ชันที่มีการคำนวณในบรรทัดเดียวแล้วคืนค่ามายังตัวแปรและไม่ต้องการชื่อฟังก์ชั่นฟังก์ชันธรรมดาพร้อมการระบุประเภทข้อมูล: คล้ายกับฟังก์ชันธรรมดา แต่มีการระบุประเภทข้อมูลของพารามิเตอร์และค่าที่ส่งคืน ช่วยให้โค้ดอ่านง่ายขึ้นและลดข้อผิดพลาดจากการใช้ข้อมูลผิดประเภท
แต่ละรูปแบบมีข้อดีและการใช้งานที่เหมาะสมแตกต่างกันไปตามสถานการณ์และความต้องการของโปรแกรมเมอร์
การสร้างฟังก์ชันในรูปแบบต่างๆ นี้แสดงให้เห็นถึงความยืดหยุ่นในการเขียนโปรแกรมภาษาไพทอน และการใช้งานฟังก์ชันในรูปแบบที่เหมาะสมกับความต้องการของโปรแกรมเมอร์