1. Cú pháp sử dụng hàm math.isqrt() trong Python

Hàm math.isqrt() trong Python được sử dụng để tính giá trị căn bậc hai và sau đó làm tròn kết quả sau khi tính căn bậc hai xuống đến số nguyên gần nó nhất. Cú pháp hàm math.isqrt() như sau:

math.isqrt(x)

Tham số:

  • là số nguyên cần tính căn bậc hai và làm tròn xuống đến số nguyên gần nó nhất.
Giá trị trả về: Một kiểu giá trị int, là giá trị của phép tính căn bậc hai và làm tròn kết quả đến số nguyên gần nó nhất.
Phiên bản Python: 3.8

Lưu ý:

  • Nếu số x truyền vào hàm là nhỏ hơn 0 (x < 0) thì hàm sẽ không thể thực hiện tính toán và gây lỗi ValueError!
  • Nếu giá trị truyền vào hàm không phải là số, khi đó hàm sẽ gây ra lỗi TypeError!

Mẹo: Trong Python, chúng ta có thể sử dụng hàm math.sqrt(x) để tính căn bậc hai của giá trị x!

2. Ví dụ hàm math.isqrt() trong Python

Ví dụ dưới đây, sử dụng hàm math.isqrt() để tính căn bậc hai của các số bên dưới và làm tròn kết quả sau khi tính căn bậc hai xuống số nguyên gần nó nhất như sau:

import math

# Tinh gia tri can bac hai cua so
print (math.sqrt(10))
print (math.sqrt (12))
print (math.sqrt (68))
print (math.sqrt (100))

# Tinh can bac hai va lam tron ket qua suong so nguyen gan nhat
print (math.isqrt(10))
print (math.isqrt (12))
print (math.isqrt (68))
print (math.isqrt (100))

Kết quả:

3.1622776601683795
3.4641016151377544
8.246211251235321
10.0

3
3
8
10

Ví dụ tiếp theo, truyền vào hàm các giá trị không phải kiểu số, hàm math.isqrt() sẽ không thể thực tính toán vì phép toán không hợp lệ và gây ra lỗi ValueError như sau:

import math

print (math.isqrt(-10))
print (math.isqrt (-5))
print (math.isqrt (68))
print (math.isqrt (100))

Kết quả:

Traceback (most recent call last):
  File "./prog.py", line 3, in <module>
ValueError: isqrt() argument must be nonnegative

Ví dụ cuối cùng, truyền vào hàm các giá trị không phải kiểu số, hàm math.isqrt() sẽ gây ra lỗi TypeError như sau:

import math

print (math.isqrt("a"))
print (math.isqrt ("b"))
print (math.isqrt (68))
print (math.isqrt (100))

Kết quả:

Traceback (most recent call last):
  File "./prog.py", line 3, in <module>
TypeError: 'str' object cannot be interpreted as an integer