Hướng dẫn what is integer division in python? - phép chia số nguyên trong python là gì?

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

print

>>>5//5
1
>>>3//2
1
>>>10//3
3
0
>>>5//5
1
>>>3//2
1
>>>10//3
3
1
>>>5//5
1
>>>3//2
1
>>>10//3
3
2
>>>5//5
1
>>>3//2
1
>>>10//3
3
2
>>>5//5
1
>>>3//2
1
>>>10//3
3
4
>>>5//5
1
>>>3//2
1
>>>10//3
3
5

print

>>>5//5
1
>>>3//2
1
>>>10//3
3
0
>>>5//5
1
>>>3//2
1
>>>10//3
3
8
>>>5//5
1
>>>3//2
1
>>>10//3
3
1
>>>5//5
1
>>>3//2
1
>>>10//3
3
2
>>>5//5
1
>>>3//2
1
>>>10//3
3
2
>>>5//5
1
>>>3//2
1
>>>10//3
3
4
>>>5//5
1
>>>3//2
1
>>>10//3
3
5

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

print

>>>5//5
1
>>>3//2
1
>>>10//3
3
0
2
-3
6__121214

print

>>>5//5
1
>>>3//2
1
>>>10//3
3
0
>>>5//5
1
>>>3//2
1
>>>10//3
3
8
2
-3
6
>>>5//5
1
>>>3//2
1
>>>10//3
3
2
>>>5//5
1
>>>3//2
1
>>>10//3
3
4
>>>5//5
1
>>>3//2
1
>>>10//3
3
5

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

print

>>>5//5
1
>>>3//2
1
>>>10//3
3
0
>>>5//5
1
>>>3//2
1
>>>10//3
3
1
>>>5//5
1
>>>3//2
1
>>>10//3
3
2
>>>5//5
1
>>>3//2
1
>>>10//3
3
2
>>>5//5
1
>>>3//2
1
>>>10//3
3
4
>>>5//5
1
>>>3//2
1
>>>10//3
3
5

print

>>>5//5
1
>>>3//2
1
>>>10//3
3
0
>>>5//5
1
>>>3//2
1
>>>10//3
3
8
>>>5//5
1
>>>3//2
1
>>>10//3
3
1
>>>5//5
1
>>>3//2
1
>>>10//3
3
2
>>>5//5
1
>>>3//2
1
>>>10//3
3
2
>>>5//5
1
>>>3//2
1
>>>10//3
3
4
>>>5//5
1
>>>3//2
1
>>>10//3
3
5

Đầ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, có hai loại phân chia: phân chia số nguyên và phân chia phao.

Phân chia số nguyên

Bộ phận số nguyên trả lại sàn của bộ phận. Đó là, các giá trị sau điểm thập phân bị loại bỏ. Nó được viết là '//' trong Python 3. Vì vậy, 1 // 3 = 0, 2 // 3 = 0 và 3 // 3 = 1. Các giá trị số nguyên được lưu trữ chính xác, vì vậy chúng an toàn để sử dụng trong so sánh.

Trong Python 2, toán tử '//' không được bao gồm, do đó, nó phải được nhập từ mô -đun

from __future__ import division

# floating point division using __future__ syntax
print 4 / 3 # prints 1.33333333333
7. Xem mã bên dưới để biết cách sử dụng toán tử '//' trong Python 2. Toán tử '/' trong Python 2 trả về kết quả số nguyên nếu cả hai toán hạng là số nguyên.

Python 2

# Python 2 integer division using '//'
from __future__ import division
print 4//3  # prints 1

hoặc

# Python 2 integer division using '/'
print 4/3  # prints 1

Python 3

# Python 3 integer division
print(4//3) # prints 1

Phân chia phao

Phân chia float trả về một xấp xỉ điểm nổi của kết quả của một bộ phận. Ví dụ, . Chỉ có một số giá trị nhất định sau khi thập phân có thể được lưu trữ, do đó không thể lưu trữ một biểu diễn nhị phân chính xác của nhiều số điểm nổi. Điều này đôi khi dẫn đến các vấn đề khi so sánh các số hoặc khi làm tròn.. Only a certain number of values after the decimal can be stored, so it is not possible to store an exact binary representation of many floating point numbers. This sometimes leads to problems when comparing numbers or when rounding.

Trong Python 2, toán tử phân chia tiêu chuẩn duy nhất là '/'. Nếu cả hai giá trị là số nguyên, kết quả là một số nguyên. Nếu một trong những giá trị là một chiếc phao, lợi nhuận là một chiếc phao. Mô -đun

from __future__ import division

# floating point division using __future__ syntax
print 4 / 3 # prints 1.33333333333
7 có thể được sử dụng để '/' đại diện cho sự phân chia điểm nổi như trong Python 3.

Python 2

from __future__ import division

# floating point division using __future__ syntax
print 4 / 3 # prints 1.33333333333

hoặc

# floating point division using a float to force float result
# no need to import from __future__

print 4 / 3.0 # prints 1.33333333333

Python 3

print(4 / 3) # prints 1.33333333333

Phân chia phao__future__ for documentation of the module.

Phân chia float trả về một xấp xỉ điểm nổi của kết quả của một bộ phận. Ví dụ, . Chỉ có một số giá trị nhất định sau khi thập phân có thể được lưu trữ, do đó không thể lưu trữ một biểu diễn nhị phân chính xác của nhiều số điểm nổi. Điều này đôi khi dẫn đến các vấn đề khi so sánh các số hoặc khi làm tròn.

Phân chia số nguyên trong ví dụ Python là gì?

Trong Python 3. X, toán tử Slash ("/") thực hiện phân chia thực sự cho tất cả các loại bao gồm các số nguyên, và do đó, ví dụ: 3/2 == 1.5. Kết quả là loại điểm nổi ngay cả khi cả hai đầu vào đều là số nguyên: 4/2 mang lại 2.0.3/2==1.5. The result is of a floating-point type even if both inputs are integers: 4 / 2 yields 2.0.

Các phân chia số nguyên là gì?

Toán tử % (phân chia số nguyên) chia hai số và trả về phần số nguyên của kết quả. Kết quả được trả về được xác định là kết quả của việc trừ đi nhiều lần chia chia từ cổ tức trong khi cổ tức lớn hơn ước số.divides two numbers and returns the integer part of the result. The result returned is defined to be that which would result from repeatedly subtracting the divisor from the dividend while the dividend is larger than the divisor.

Sự khác biệt giữa phân chia và số nguyên Python là gì?

Hàm phân chia trong Python có hai biến thể: Phân chia phao: đưa ra câu trả lời thập phân.Phân chia số nguyên: Đưa ra câu trả lời trong các số toàn bộ (kết quả phân chia được làm tròn đến tổng số gần nhất).Integer division: gives the answer in whole numbers (the division result is rounded to the nearest whole number).

Tại sao bộ phận số nguyên được sử dụng?

Một lý do để thực hiện phân chia số nguyên như thế này trong các ngôn ngữ lập trình là các hoạt động số nguyên nhanh hơn nhiều so với các hoạt động điểm nổi.Về cơ bản, ngôn ngữ lập trình đang yêu cầu bạn chuyển đổi rõ ràng các loại số nguyên của bạn thành nổi nếu bạn muốn thực hiện số học dấu nổi.integer operations are much faster than floating point operations. Basically, the programming language is requiring you to explicitly convert your integer types to float if you want to do floating point arithmetic.