Các toán tử phân chia cho phép bạn chia hai số và trả về thương số, tức là, số hoặc số thứ nhất ở bên trái được chia cho số hoặc số thứ hai ở bên phải và trả về thương số. & NBSP;allow you to divide two numbers and return a quotient, i.e., the first number or number at the left is divided by the second number or number at the right and returns the quotient.
Có hai loại toán tử phân chia: & nbsp;
[i] Phân khu Float: & NBSP;Float division:
Lợi nhuận của toán tử này luôn là một số nổi, bất kể hai số là số nguyên. Ví dụ:
>>>5/5 1.0 >>>10/2 5.0 >>>-10/2 -5.0 >>>20.0/2 10.0
[ii] phân chia số nguyên [phân chia sàn]: & nbsp;Integer division[ Floor division]:
Chỉ số được trả về bởi toán tử này phụ thuộc vào đối số được thông qua. Nếu bất kỳ số nào là float, nó sẽ trả về đầu ra trong float. Nó còn được gọi là phân chia sàn bởi vì, nếu bất kỳ số nào là âm, thì đầu ra sẽ được tăng lên. Ví dụ:
>>>5//5 1 >>>3//2 1 >>>10//3 3
Hãy xem xét các tuyên bố dưới đây trong Python.
Python3
2 -32
2 -33
2 -34
2 -35
2 -35
2 -37
2 -38
2 -32
2 -33
q = 10 // 3
mod = 10 % 3
print[q, mod]
# 3 1
12 -34
2 -35
2 -35
2 -37__28
Output:
2 -3
Đầu ra đầu tiên là tốt, nhưng lần thứ hai có thể ngạc nhiên nếu chúng ta đến thế giới Java/C ++. Trong Python, nhà điều hành của ///4 làm việc như một bộ phận sàn cho các đối số số nguyên và phao. Tuy nhiên, nhà điều hành phân chia ‘/trả lại luôn luôn là một giá trị nổi.
Lưu ý: Toán tử // trực tiếp được sử dụng để trả về giá trị số nguyên gần nhất nhỏ hơn hoặc bằng một biểu thức hoặc giá trị được chỉ định. Vì vậy, từ mã trên, 5 // 2 trả về 2. Bạn biết rằng 5/2 là 2,5 và số nguyên gần nhất nhỏ hơn hoặc bằng là 2 [5 // 2]. [Nó nghịch đảo với toán học bình thường, Trong toán học bình thường, giá trị là 3].The “//” operator is used to return the closest integer value which is less than or equal to a specified expression or value. So from the above code, 5//2 returns 2. You know that 5/2 is 2.5, and the closest integer which is less than or equal is 2[5//2].[ it is inverse to the normal maths, in normal maths the value is 3].
Thí dụ
Python3
2 -32
2 -33
q = 10 // 3
mod = 10 % 3
print[q, mod]
# 3 1
92 -35
2 -37
2 -38
2 -32
2 -33
q = 10 // 3
mod = 10 % 3
print[q, mod]
# 3 1
1q = 10 // 3
mod = 10 % 3
print[q, mod]
# 3 1
92 -35
2 -37
2 -38
Nhà điều hành phân chia tầng thực là trên mạng //. Nó trả về giá trị sàn cho cả đối số số nguyên và dấu phẩy động.
Python3
2 -32
2 -33
2 -34
2 -35
2 -35
2 -37
2 -38
2 -32
2 -33
q = 10 // 3
mod = 10 % 3
print[q, mod]
# 3 1
12 -34
2 -35
2 -35
2 -37__28
Đầu ra đầu tiên là tốt, nhưng lần thứ hai có thể ngạc nhiên nếu chúng ta đến thế giới Java/C ++. Trong Python, nhà điều hành của ///4 làm việc như một bộ phận sàn cho các đối số số nguyên và phao. Tuy nhiên, nhà điều hành phân chia ‘/trả lại luôn luôn là một giá trị nổi.
Lưu ý: Toán tử // trực tiếp được sử dụng để trả về giá trị số nguyên gần nhất nhỏ hơn hoặc bằng một biểu thức hoặc giá trị được chỉ định. Vì vậy, từ mã trên, 5 // 2 trả về 2. Bạn biết rằng 5/2 là 2,5 và số nguyên gần nhất nhỏ hơn hoặc bằng là 2 [5 // 2]. [Nó nghịch đảo với toán học bình thường, Trong toán học bình thường, giá trị là 3].
Thí dụ
Trong Python, bạn có thể tính toán thương số với
0 và phần còn lại vớiCode language: plaintext [plaintext]
101 = 4 * 25 + 1
1.Code language: plaintext [plaintext]
101 = 4 * 25 + 1
q = 10 // 3
mod = 10 % 3
print[q, mod]
# 3 1
Hàm tích hợp
2 rất hữu ích khi bạn muốn cả thương số và phần còn lại.Code language: plaintext [plaintext]
101 = 4 * 25 + 1
- Chức năng tích hợp - DivMod [] - Python 3.7.4 Tài liệu
3 Trả về một tupleCode language: plaintext [plaintext]
101 = 4 * 25 + 1
4.Code language: plaintext [plaintext]
101 = 4 * 25 + 1
Bạn có thể giải nén và gán cho từng biến.
- Giải nén một tuple và danh sách trong Python
q, mod = divmod[10, 3]
print[q, mod]
# 3 1
Tất nhiên, bạn có thể nhận nó như một tuple.
answer = divmod[10, 3]
print[answer]
print[answer[0], answer[1]]
# [3, 1]
# 3 1
Tóm tắt: Trong hướng dẫn này, bạn sẽ tìm hiểu về toán tử phân chia sàn Python [//] hoặc mod.: in this tutorial, you’ll learn about Python floor division operator [//] or mod.
Giới thiệu về phân chia sàn Python
Giả sử bạn có một bộ phận gồm hai số nguyên:
101 / 4
Trong phân chia này, 101 được gọi là tử số [
5] và 4 được gọi là mẫu số [Code language: plaintext [plaintext]
101 = 4 * 25 + 1
6].
101 = 4 * 25 + 1
Code language: plaintext [plaintext]
Số nguyên Division 101 /4 trả về 25 với phần còn lại 1. Nói cách khác:
Code language: plaintext [plaintext]
101 / 4 = 25 with remainder 1
Hoặc đặt nó theo một cách khác:
Code language: plaintext [plaintext]
101 = 4 * 25 + 1
Python sử dụng hai toán tử
0 vàCode language: plaintext [plaintext]
101 = 4 * 25 + 1
8 mà trả về kết quả của bộ phận:Code language: plaintext [plaintext]
101 = 4 * 25 + 1
Code language: plaintext [plaintext]
101 // 4 = 25 101 % 4 = 1
0 được gọi là toán tử phân chia sàn hoặc div. VàCode language: plaintext [plaintext]
101 = 4 * 25 + 1
1 được gọi là toán tử modulo hoặc mod.floor division operator or div. And theCode language: plaintext [plaintext]
101 = 4 * 25 + 1
1 is called the modulo operator or mod.Code language: plaintext [plaintext]
101 = 4 * 25 + 1
Hướng dẫn này tập trung vào nhà điều hành phân chia sàn. Bạn sẽ tìm hiểu về toán tử modulo trong hướng dẫn sau.
Cả hai nhà khai thác phân chia sàn và modulo đều đáp ứng phương trình sau:
>>>5//5 1 >>>3//2 1 >>>10//3 30
Nói chung, nếu
5 là tử số vàCode language: plaintext [plaintext]
101 = 4 * 25 + 1
6 là mẫu số, thì các toán tử phân chia sàn và modulo luôn đáp ứng các phương trình sau:Code language: plaintext [plaintext]
101 = 4 * 25 + 1
>>>5//5 1 >>>3//2 1 >>>10//3 31
Để hiểu sự phân chia sàn, trước tiên bạn cần phải hiểu sàn của một số thực.
Tầng của một số thực là số nguyên lớn nhất ít hơn hoặc bằng số. Nói cách khác:
>>>5//5 1 >>>3//2 1 >>>10//3 32
Ví dụ, sàn 3,4 là 3 vì 3 là số nguyên lớn nhất nhỏ hơn hoặc bằng 3,4. Sàn 3,9 cũng là 3. và sàn 3 là 3 rõ ràng:
>>>5//5 1 >>>3//2 1 >>>10//3 33
Đối với các số dương, sẽ dễ hiểu định nghĩa. Tuy nhiên, bạn nên chú ý khi nói đến số âm.
Ví dụ, sàn của
3 trả về
101 // 4 = 25 101 % 4 = 1
Code language: plaintext [plaintext]
4, không phảiCode language: plaintext [plaintext]
101 // 4 = 25 101 % 4 = 1
5 dựa trên định nghĩa sàn. Tương tự, sàn củaCode language: plaintext [plaintext]
101 // 4 = 25 101 % 4 = 1
6 cũng trả vềCode language: plaintext [plaintext]
101 // 4 = 25 101 % 4 = 1
4.Code language: plaintext [plaintext]
101 // 4 = 25 101 % 4 = 1
>>>5//5 1 >>>3//2 1 >>>10//3 34
Bộ phận sàn có thể được định nghĩa là:
>>>5//5 1 >>>3//2 1 >>>10//3 35
Lưu ý rằng sự phân chia sàn của một số không phải lúc nào cũng giống như cắt. Sự phân chia sàn chỉ giống như cắt ngắn khi các con số dương.
Ví dụ về nhà điều hành phân chia sàn Python
Ví dụ sau đây sử dụng các toán tử phân chia sàn với các số nguyên tích cực và tiêu cực:
>>>5//5 1 >>>3//2 1 >>>10//3 36
Output:
>>>5//5 1 >>>3//2 1 >>>10//3 37
Bảng dưới đây minh họa sự phân chia sàn của hai số nguyên
8 vàCode language: plaintext [plaintext]
101 // 4 = 25 101 % 4 = 1
9:Code language: plaintext [plaintext]
101 // 4 = 25 101 % 4 = 1
10 | 3 | 3 |
-10 | -3 | 3 |
10 | -3 | -4 |
-10 | 3 | -3 |
Chức năng python math.floor []
Hàm
>>>5//5 1 >>>3//2 1 >>>10//3 300 của mô -đun
>>>5//5 1 >>>3//2 1 >>>10//3 301 trả về sự phân chia sàn của hai số nguyên. Ví dụ:
>>>5//5 1 >>>3//2 1 >>>10//3 38
Output:
>>>5//5 1 >>>3//2 1 >>>10//3 39
Như bạn có thể thấy rõ từ đầu ra, hàm
>>>5//5 1 >>>3//2 1 >>>10//3 300 trả về kết quả tương tự như toán tử phân chia sàn [
0]. Nó cũng đúng với các số âm:Code language: plaintext [plaintext]
101 = 4 * 25 + 1
2 -30
Output:
2 -31
Bản tóm tắt
- Python sử dụng // làm toán tử phân chia sàn và
1 làm toán tử modulo.
Code language: plaintext [plaintext]101 = 4 * 25 + 1
- Nếu tử số là N và mẫu số D, thì phương trình này
>>>5//5 1 >>>3//2 1 >>>10//3 3
05 luôn được thỏa mãn. - Sử dụng toán tử phân chia sàn
0 hoặc hàm
Code language: plaintext [plaintext]101 = 4 * 25 + 1
>>>5//5 1 >>>3//2 1 >>>10//3 3
00 của mô -đun>>>5//5 1 >>>3//2 1 >>>10//3 3
01 để có được sự phân chia sàn của hai số nguyên.
Bạn có thấy hướng dẫn này hữu ích không?