CÔNG CỤ
MODULES
THAM KHẢO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.

Phép toán Modulo trong Python

Trong bài viết này, bạn sẽ tìm hiểu về toán tử modulo (%) trong Python và cách sử dụng nó một cách hiệu quả. Toán tử modulo là một công cụ hữu ích trong nhiều tình huống lập trình, từ kiểm tra tính chẵn lẻ của số, chuyển đổi đơn vị thời gian, đến các phép toán liên quan đến chu kỳ và vòng lặp. Việc hiểu rõ và sử dụng thành thạo toán tử modulo sẽ giúp bạn tối ưu hóa mã nguồn và giải quyết các bài toán phức tạp một cách đơn giản hơn. Hãy cùng tìm hiểu cách thức hoạt động của toán tử này và những ứng dụng thực tế của nó trong Python.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Giới thiệu về toán tử modulo trong Python

Python sử dụng dấu phần trăm (%) như là toán tử modulo. Toán tử modulo luôn tuân theo phương trình sau:

N=D×(N//D)+(NN = D \times ( N // D) + (N % D)

Trong phương trình này:

Bài viết này được đăng tại [free tuts .net]

  • N là tử số.
  • D là mẫu số.
  • // là toán tử chia lấy phần nguyên.
  • % là toán tử modulo.

Nếu cả N và D đều là số nguyên dương, toán tử modulo sẽ trả về phần dư của N / D. Tuy nhiên, đối với các số âm, kết quả có thể khác biệt. Vì vậy, bạn luôn nên tuân theo phương trình trên.

Ví dụ đơn giản về toán tử modulo trong Python

Ví dụ sau minh họa cách sử dụng toán tử modulo (%) với các số nguyên dương:

a = 16
b = 5

m = a % b
f = a // b

# hiển thị kết quả

print(f'{a} % {b} = {m}')  # 1
print(f'{a} // {b} = {f}')  # 3

Kết quả:

1
3

Đối với các số dương, kết quả khá rõ ràng. Bạn có thể kiểm tra phương trình một cách nhanh chóng:

16=5×(16//5)+16%516 = 5 \times (16 // 5) + 16 \% 5 16=5×3+116 = 5 \times 3 + 1

Ví dụ sau cho thấy cách sử dụng toán tử modulo (%) với các số nguyên âm:

a = -16
b = 5

m = a % b
f = a // b

# hiển thị kết quả

print(f'{a} % {b} = {m}')  # 4
print(f'{a} // {b} = {f}')  # -4

Kết quả:

4
-4

Phương trình cũng được thỏa mãn:

16=5×(16//5)+(16)%5-16 = 5 \times (-16 // 5) + (-16) \% 5 16=5×44-16 = 5 \times -4 - 4

Các ví dụ thực tế về toán tử modulo trong Python

Hãy xem một số ví dụ thực tế về việc sử dụng toán tử modulo (%).

Sử dụng toán tử modulo để kiểm tra xem một số có phải là số chẵn hay lẻ hay không:

def is_even(num):
    return num % 2 == 0

def is_odd(num):
    return num % 2 != 0

Sử dụng toán tử modulo để chuyển đổi đơn vị:

Ví dụ sau sử dụng toán tử modulo (%) để chuyển đổi giây thành ngày, giờ, phút và giây. Điều này có thể hữu ích nếu bạn muốn phát triển một chương trình đếm ngược:

from math import floor

def get_time(total_seconds):
    return {
        'days': floor(total_seconds / 60 / 60 / 24),
        'hours': floor(total_seconds / 60 / 60) % 24,
        'minutes': floor(total_seconds / 60) % 60,
        'seconds': total_seconds % 60,
    }

print(get_time(93750))

Kết quả:

{'days': 1, 'hours': 2, 'minutes': 2, 'seconds': 30}

Kết bài

Python sử dụng dấu phần trăm (%) làm toán tử modulo. Toán tử này giúp bạn dễ dàng tìm ra phần dư của phép chia giữa hai số. Quan trọng hơn, toán tử modulo (%) luôn thỏa mãn phương trình N=D×(N//D)+(N%D)N = D \times (N // D) + (N \% D). Hiểu và sử dụng thành thạo toán tử modulo sẽ giúp bạn giải quyết nhiều bài toán một cách hiệu quả hơn trong lập trình Python. Từ việc kiểm tra số chẵn lẻ đến chuyển đổi đơn vị thời gian, toán tử này đều đóng vai trò quan trọng và hữu ích.

Cùng chuyên mục:

Sử dụng câu lệnh raise from trong Python

Sử dụng câu lệnh raise from trong Python

Ngoại lệ tùy chỉnh trong Python

Ngoại lệ tùy chỉnh trong Python

Ngoại lệ Raise trong Python

Ngoại lệ Raise trong Python

Tìm hiểu về các ngoại lệ trong Python

Tìm hiểu về các ngoại lệ trong Python

Tìm hiểu về decorator dataclass trong Python

Tìm hiểu về decorator dataclass trong Python

Ví dụ sử dụng metaclass trong Python

Ví dụ sử dụng metaclass trong Python

Lớp Metaclass trong Python

Lớp Metaclass trong Python

Tìm hiểu về Class Type trong Python

Tìm hiểu về Class Type trong Python

Phương thức __new__ trong Python

Phương thức __new__ trong Python

Phân biệt Data Descriptor và Non-data Descriptor trong Python

Phân biệt Data Descriptor và Non-data Descriptor trong Python

Mô tả Descriptors trong Python

Mô tả Descriptors trong Python

Tìm hiểu về các lớp mixin trong Python

Tìm hiểu về các lớp mixin trong Python

Đa kế thừa trong Python

Đa kế thừa trong Python

Nguyên tắc đảo ngược sự phụ thuộc trong Python

Nguyên tắc đảo ngược sự phụ thuộc trong Python

Interface Segregation Principle - ISP trong Python.

Interface Segregation Principle - ISP trong Python.

Nguyên tắc thay thế Liskov - LSP trong Python

Nguyên tắc thay thế Liskov - LSP trong Python

Nguyên tắc Đóng-Mở trong Python

Nguyên tắc Đóng-Mở trong Python

Single Responsibility Principle trong Python

Single Responsibility Principle trong Python

Cách sử dụng hàm Auto() của Python

Cách sử dụng hàm Auto() của Python

Tùy chỉnh và mở rộng lớp Enum trong Python

Tùy chỉnh và mở rộng lớp Enum trong Python

Top