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:

Tài liệu tham khảo nhanh về Regex trong Python

Tài liệu tham khảo nhanh về Regex trong Python

Hàm Flags của Regex trong Python

Hàm Flags của Regex trong Python

Hàm split() của Regex trong Python

Hàm split() của Regex trong Python

Hàm finditer() của Regex trong Python

Hàm finditer() của Regex trong Python

Hàm fullmatch() của Regex trong Python

Hàm fullmatch() của Regex trong Python

Hàm match() của Regex trong Python

Hàm match() của Regex trong Python

Hàm sub() của Regex trong Python

Hàm sub() của Regex trong Python

Hàm search() trong Python Regex

Hàm search() trong Python Regex

Hàm findall() của regex trong Python

Hàm findall() của regex trong Python

Lookbehind trong Regex của Python

Lookbehind trong Regex của Python

Lookahead trong Python Regex

Lookahead trong Python Regex

Alternation Regex trong Python

Alternation Regex trong Python

Tìm hiểu Backreferences trong regex của Python

Tìm hiểu Backreferences trong regex của Python

Nhóm Non-capturing trong Regex Python

Nhóm Non-capturing trong Regex Python

Các nhóm Capturing trong regex của Python

Các nhóm Capturing trong regex của Python

Sets và Ranges trong Regex của Python

Sets và Ranges trong Regex của Python

Lượng từ non-greed trong Regex của Python

Lượng từ non-greed trong Regex của Python

Chế độ Greedy trong Regex Python

Chế độ Greedy trong Regex Python

Các lượng từ trong Regex của Python

Các lượng từ trong Regex của Python

Regex Word Boundary trong Python

Regex Word Boundary trong Python

Top