Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Giá trị tuyệt đối trong Python: Hướng dẫn từng bước

Giá trị tuyệt đối trong Python: Hướng dẫn từng bước

Phương thức abs() của Python trả về giá trị tuyệt đối của một số. Giá trị tuyệt đối của một số là khoảng cách từ số đó đến 0. Điều này làm cho bất kỳ số âm nào trở thành dương, trong khi số dương không bị ảnh hưởng. Ví dụ, abs(-9) trả về 9, trong khi abs(2) trả về 2.


Giá trị tuyệt đối là khoảng cách giữa một số và 0 trên đường số. Các giá trị này hữu ích trong nhiều phương trình toán học. Ví dụ, giá trị tuyệt đối dùng trong tính toán khoảng cách.

Đó là lúc hàm built-in abs() xuất hiện. Phương thức abs() có thể dùng tính giá trị tuyệt đối của một số cụ thể.

Trong hướng dẫn này, ta sẽ thảo luận cách dùng abs() trong Python. Ta cũng sẽ khám phá vài ví dụ minh họa hàm hoạt động.

Giá trị tuyệt đối trong Python: Giải thích

Trong toán học, giá trị tuyệt đối chỉ khoảng cách một số cách xa bao nhiêu từ 0 trên đường số. Bất kể số là dương hay âm, giá trị tuyệt đối của số đó luôn dương.

Ví dụ, giá trị tuyệt đối của 5 là 5. Giá trị tuyệt đối của -5 cũng là 5. Điều này vì cả 5 và -5 đều cách 0 năm khoảng trống trên đường số. Ví dụ đường số minh họa:

-5-4-3-2-112345

-5 cách 5 khoảng trống từ 0, và 5 cũng cách 5 khoảng trống từ 0.

Giá trị tuyệt đối là khái niệm quan trọng trong toán học và vật lý, có nhiều ứng dụng trong các lĩnh vực này. Giá trị tuyệt đối cũng thường dùng trong phân tích dữ liệu.

Giá trị tuyệt đối Python

Phương thức abs() của Python tính giá trị tuyệt đối của một số. abs() nhận một tham số: số bạn muốn tính giá trị tuyệt đối.

Cú pháp cho phương thức abs():

abs(value)

Phương thức abs() trả về số thực (floating-point) hoặc số nguyên (integer) tùy thuộc vào giá trị bạn truyền:

  • -9 trả về 9.
  • -2.2 trả về 2.2.

Giá trị thực là 2.2, ký hiệu bằng dấu chấm trong số. Vì abs() chấp nhận cả số nguyên và số thực, không cần chuyển đổi số để dùng phương thức này.

abs() hoạt động với giá trị 0 và số dương (kể cả số thực và số nguyên). Tuy nhiên, hàm abs() trả về cùng giá trị với giá trị ban đầu truyền vào. Điều này vì số dương và 0 không phải số âm.

Hãy dùng ví dụ minh họa cách abs() hoạt động.

Ví dụ phương thức abs() trong Python

Giả sử bạn làm việc cho cảnh sát giao thông địa phương. Họ nhờ bạn xây dựng app tính xem tài xế trên một con đường nhất định có bị phạt vi phạm tốc độ không. Trên con đường này, tài xế nên đi tốc độ gần bằng tốc độ trung bình của các tài xế.

Cảnh sát không muốn người vượt quá giới hạn này vì đã có chuỗi tai nạn trên con đường. Nhiều tai nạn do biến đổi tốc độ quá lớn giữa các tài xế.

Đi nhanh hoặc chậm hơn 10 dặm/giờ (khoảng 16 km/h) so với tài xế trung bình là nguy hiểm. Tài xế vượt quá giới hạn này nên bị phạt.

Đánh giá tốc độ

Ta sẽ xây dựng chương trình xác định xem tài xế có bị phạt dựa trên tốc độ:

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)

Mã trả về: 12.

Dòng đầu, ta khai báo biến Python lưu tốc độ trung bình xe trên đường, trường hợp này 50 mph (khoảng 80 km/h). Sau đó, khai báo biến lưu tốc độ hiện tại của tài xế cụ thể — 38 mph (khoảng 61 km/h).

Dòng tiếp theo, ta tính chênh lệch giữa tốc độ hiện tại của tài xế cụ thể và tốc độ trung bình. Sau đó, ta lấy giá trị này và dùng abs() lấy giá trị tuyệt đối.

Về mặt kỹ thuật, chênh lệch giữa tốc độ tài xế và tốc độ trung bình là -12 mph (khoảng 19 km/h). Nhưng ta chỉ muốn biết chênh lệch giữa tốc độ tài xế cụ thể và tốc độ trung bình. Ta dùng abs() chuyển giá trị thành tuyệt đối, chương trình trả về 12.

Hiển thị thông báo

Ta muốn chương trình hiển thị thông báo nếu tài xế bị phạt. Để làm vậy, ta thêm câu lệnh if Python vào cuối chương trình trước:

print("Chênh lệch tốc độ: " + str(absolute_value))
if absolute_value > 10:
    print("Tài xế này vượt quá giới hạn tốc độ. Hãy phạt họ.")
else:
    print("Tài xế này không vượt quá giới hạn tốc độ.")

Đầu tiên, in chênh lệch tốc độ tài xế ra màn hình. Sau đó, dùng câu lệnh if đánh giá xem tài xế có vượt giới hạn không. Câu lệnh print khác nhau thực thi tùy thuộc vào tài xế vượt hoặc trong giới hạn.

Giá trị tuyệt đối Python: Tính toán khoảng cách

Giá trị tuyệt đối thường dùng trong tính toán khoảng cách.

Giả sử ta đi đến nơi cách nhà 20 dặm (khoảng 32 km). Ta vô tình đi 31 dặm.

Nếu muốn biết còn bao nhiêu dặm đến đích, ta sẽ có số âm. Để chuyển số âm thành dương, ta dùng abs().

Mã ví dụ dùng abs() trong Python:

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

Mã trả về: 11.

Nếu không dùng abs(), chương trình trả về -11 vì chênh lệch 20 và 31 là -11. Nhưng vì dùng abs(), chương trình trả về giá trị tuyệt đối.

Kết luận

Phương thức abs() trong Python chuyển số thực hoặc số nguyên thành giá trị tuyệt đối. Điều này đặc biệt hữu ích khi bạn muốn biết chênh lệch giữa hai giá trị.

Trong hướng dẫn này, ta khám phá cách dùng abs() trong Python, tham chiếu hai ví dụ.

Bạn muốn nâng cao kiến thức Python? Xem hướng dẫn hoàn chỉnh "Cách học Python" của chúng tôi. Trong hướng dẫn này, bạn tìm thấy lời khuyên cách học Python và danh sách tài nguyên học tập hàng đầu.