Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ค่าสัมบูรณ์ (Absolute Value) ใน Python: คู่มือขั้นตอนต่อขั้นตอน

ค่าสัมบูรณ์ (Absolute Value) ใน Python: คู่มือขั้นตอนต่อขั้นตอน

เมธอด abs() ใน Python คืนค่าสัมบูรณ์ของตัวเลข ค่าสัมบูรณ์ของตัวเลขคือระยะห่างจาก 0 ทำให้ตัวเลขลบกลายเป็นบวก ในขณะที่ตัวเลขบวกไม่ได้รับผลกระทบ เช่น abs(-9) คืนค่า 9 ในขณะที่ abs(2) คืนค่า 2


ค่าสัมบูรณ์คือระยะห่างระหว่างตัวเลขและ 0 บนเส้นจำนวน (number line) ค่าเหล่านี้มีประโยชน์ในสมการทางคณิตศาสตร์หลายอย่าง เช่น ค่าสัมบูรณ์ใช้ในการคำนวณระยะทาง

นี่คือที่มาของฟังก์ชัน built-in abs() เมธอด abs() ใช้คำนวณค่าสัมบูรณ์ของตัวเลขเฉพาะเจาะจง

ในบทช่วยสอนนี้ เราจะอธิบายการใช้ abs() ใน Python เราจะสำรวจตัวอย่างเล็กๆ นิทรรศการฟังก์ชันในการทำงาน

ค่าสัมบูรณ์ใน Python: คำอธิบาย

ในคณิตศาสตร์ ค่าสัมบูรณ์อ้างถึงว่าตัวเลขห่างจากศูนย์บนเส้นจำนวนแค่ไหน ไม่ว่าตัวเลขจะเป็นบวกหรือลบ ค่าสัมบูรณ์ของตัวเลขนั้นจะเป็นบวกเสมอ

เช่น ค่าสัมบูรณ์ของ 5 คือ 5 ค่าสัมบูรณ์ของ -5 ก็คือ 5 เช่นกัน เพราะทั้ง 5 และ -5 ห่างจากศูนย์ 5 ช่องบนเส้นจำนวน นี่คือเส้นจำนวนตัวอย่าง:

-5-4-3-2-112345

-5 อยู่ห่างจากศูนย์ 5 ช่อง และ 5 ก็ห่างจากศูนย์ 5 ช่องเช่นกัน

ค่าสัมบูรณ์เป็นแนวคิดสำคัญในคณิตศาสตร์และฟิสิกส์ และมีการประยุกต์ใช้กว้างขวางในสาขาเหล่านี้ ค่าสัมบูรณ์ยังใช้บ่อยในการวิเคราะห์ข้อมูล (data analysis)

ค่าสัมบูรณ์ Python

เมธอด abs() ใน Python คำนวณค่าสัมบูรณ์ของตัวเลข เมธอด abs() รับพารามิเตอร์หนึ่ง: ตัวเลขที่คุณต้องการคำนวณค่าสัมบูรณ์

ไวยากรณ์ abs():

abs(value)

เมธอด abs() คืนค่าทศนิยม (floating-point) หรือจำนวนเต็ม (integer) ขึ้นอยู่กับค่าที่ส่งผ่านเมธอด:

  • -9 จะคืนค่า 9
  • -2.2 จะคืนค่า 2.2

ค่าทศนิยมคือ 2.2 แทนด้วยจุดที่ปรากฏในตัวเลข เนื่องจาก abs() รับทั้งจำนวนเต็มและทศนิยม จึงไม่ต้องแปลงตัวเลขก่อนใช้เมธอดนี้

abs() ทำงานกับค่าศูนย์และตัวเลขบวก (รวมทศนิยมและจำนวนเต็ม) อย่างไรก็ตาม ฟังก์ชัน abs() จะคืนค่าเดียวกับค่าที่ส่งผ่านฟังก์ชันเข้ามา เนื่องจากตัวเลขบวกและศูนย์ไม่ใช่ตัวเลขลบ

มาใช้ตัวอย่างประกอบการทำงานของ abs()

ตัวอย่างเมธอด abs() ใน Python

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

สถานีตำรวจไม่ต้องการให้เกินขีดจำกัดนี้ เพราะมีอุบัติเหตุต่อเนื่องบนถนน หลายอุบัติเหตุเกิดจากความแตกต่างของความเร็วระหว่างคนขับมากเกินไป

ขับเร็วกว่าหรือช้ากว่าค่าเฉลี่ยมากกว่า 10 ไมล์ต่อชั่วโมง (ประมาณ 16 กม./ชม.) เป็นอันตราย คนขับที่เกินขีดจำกัดควรได้รับใบสั่งปรับ

การประเมินความเร็ว

เราจะสร้างโปรแกรมตัดสินใจว่าคนขับควรได้รับใบสั่งปรับจากความเร็วหรือไม่:

average_speed = 50
current_speed = 38
difference_between_average_and_current_speed = average_speed - current_speed
absolute_value = abs(difference_between_average_and_current_speed)
print(absolute_value)

โค้ดคืนค่า: 12

บรรทัดแรก เราประกาศตัวแปร Python เก็บความเร็วเฉลี่ยของรถบนถนน ซึ่งในกรณีนี้คือ 50 mph (ประมาณ 80 กม./ชม.) จากนั้นประกาศตัวแปรเก็บความเร็วปัจจุบันของคนขับคนหนึ่ง — 38 mph (ประมาณ 61 กม./ชม.) ในกรณีนี้

บรรทัดถัดไป เราคำนวณความแตกต่างระหว่างความเร็วปัจจุบันของคนขับคนนั้น และความเร็วเฉลี่ยของรถบนถนน จากนั้นนำค่านี้ใช้ abs() หาค่าสัมบูรณ์

ทางเทคนิค ความแตกต่างระหว่างความเร็วคนขับและค่าเฉลี่ยคือ -12 mph (ประมาณ 19 กม./ชม.) แต่เราต้องการทราบแค่ความแตกต่างระหว่างความเร็วคนขับคนนั้นและค่าเฉลี่ย เราใช้ abs() แปลงค่าเป็นค่าสัมบูรณ์ โปรแกรมคืนค่า 12

การแสดงข้อความ

เราต้องการให้โปรแกรมแสดงข้อความหากคนขับมีสิทธิ์ได้รับใบสั่งปรับ ทำได้โดยเพิ่มคำสั่ง if ของ Python ท้ายโปรแกรมก่อนหน้า

print("Speed Difference: " + str(absolute_value))
if absolute_value > 10:
    print("This driver is exceeding the speed limit. Write them a ticket.")
else:
    print("This driver is not exceeding the speed limit.")

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

ค่าสัมบูรณ์ Python: การคำนวณระยะทาง

ค่าสัมบูรณ์มักใช้ในการคำนวณระยะทาง

สมมติเราเดินทางไปที่ห่างจากบ้าน 20 ไมล์ (ประมาณ 32 กม.) เราเดินทางผิดไป 31 ไมล์

หากต้องการทราบว่าเหลือกี่ไมล์จนถึงจุดหมาย เราจะได้ตัวเลขลบ เพื่อแปลงตัวเลขลบเป็นบวก เราสามารถใช้ abs()

นี่คือโค้ดตัวอย่างใช้ abs() ใน Python:

miles_from_home = 20
travelled = 31
miles_left = miles_from_home - travelled
print(abs(miles_left))

โค้ดคืนค่า: 11

หากเราไม่ระบุ abs() โปรแกรมจะคืนค่า -11 เพราะความแตกต่างระหว่าง 20 และ 31 คือ -11 แต่เพราะเราใช้ abs() โปรแกรมคืนค่าสัมบูรณ์

สรุป

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

ในบทช่วยสอนนี้ เราสำรวจการใช้ abs() ใน Python พร้อมอ้างอิงสองตัวอย่าง

ต้องการพัฒนาความรู้ Python? ดูคู่มือ How to Learn Python ของเรา ในคู่มือนี้ คุณจะพบคำแนะนำการเรียน Python และรายการแหล่งทรัพยากรชั้นนำ