Phân chia python // so với /

Trong bài đăng này, bạn sẽ tìm hiểu Python 3 phép chia, cũng như một số điều bất ngờ của nó. Bạn sẽ học cách sử dụng cả phương pháp số nguyên và phương pháp sàn, cũng như cách diễn giải một số kết quả ít được mong đợi của phương pháp này

Mục lục

  • Bộ phận Python – Những cách khác nhau
  • Bộ phận tầng Python
  • Bộ phận nổi Python
  • Sự kết luận

Bộ phận Python – Những cách khác nhau

Python có hai toán tử chia khác nhau,

# Two integers
>> 7 / 3
2.33

# One floating point value
>> 7.0 / 3
2.33

# Two floating point values
>> 7.0 / 3.0
2.33
7 và
# Two integers
>> 7 / 3
2.33

# One floating point value
>> 7.0 / 3
2.33

# Two floating point values
>> 7.0 / 3.0
2.33
8. Cái nào bạn sử dụng phụ thuộc vào kết quả mà bạn muốn đạt được

  • Toán tử dấu gạch chéo đơn
    # Two integers
    >> 7 / 3
    2.33
    
    # One floating point value
    >> 7.0 / 3
    2.33
    
    # Two floating point values
    >> 7.0 / 3.0
    2.33
    7 được gọi là phép chia float, trả về một giá trị dấu phẩy động
  • Mặt khác, toán tử dấu gạch chéo kép
    # Two integers
    >> 7 / 3
    2.33
    
    # One floating point value
    >> 7.0 / 3
    2.33
    
    # Two floating point values
    >> 7.0 / 3.0
    2.33
    8 trả về một giá trị số sàn, cụ thể là số nguyên số sàn hoặc giá trị dấu phẩy động

Bộ phận tầng Python

Phép chia sàn trong Python, sử dụng toán tử

# Two integers
>> 7 / 3
2.33

# One floating point value
>> 7.0 / 3
2.33

# Two floating point values
>> 7.0 / 3.0
2.33
8, hoạt động bằng cách trả về giá trị sàn của thương số của nó. Điều này hoạt động khác với phép chia số nguyên sẽ làm tròn số. Thay vào đó, điều này hoạt động bằng cách trả về giá trị sàn

Hãy xem cách điều này hoạt động trong thực tế, bằng cách xem xét một vài ví dụ

# Two float values
>> 7.0 // 2.0
3.0

# A single float value
>> 7 // 2.0
3.0

# Two integers
>>  7 // 2
3

Một lưu ý thú vị về điều này là những gì xảy ra với số âm

>> -7.0 // 3
-3.0

Về mặt logic, điều này có ý nghĩa. Kết quả sẽ được làm tròn xuống [i. e. , sàn], có nghĩa là mặc dù chúng tôi có thể mong đợi nó bằng với

>>>5/5
1.0
>>>10/2
5.0
>>>-10/2
-5.0
>>>20.0/2
10.0
2, nhưng được làm tròn xuống, giá trị chính xác là
>>>5/5
1.0
>>>10/2
5.0
>>>-10/2
-5.0
>>>20.0/2
10.0
3

Bộ phận nổi Python

Phép chia float trong Python sử dụng toán tử

# Two integers
>> 7 / 3
2.33

# One floating point value
>> 7.0 / 3
2.33

# Two floating point values
>> 7.0 / 3.0
2.33
7 và trả về một giá trị dấu phẩy động. Đây có lẽ là cách bạn mong đợi bộ phận hoạt động. Hãy xem xét thêm một số ví dụ

# Two integers
>> 7 / 3
2.33

# One floating point value
>> 7.0 / 3
2.33

# Two floating point values
>> 7.0 / 3.0
2.33

Như bạn có thể thấy, kết quả trả về các giá trị mà bạn mong đợi, bất kể bạn đang chia số nguyên, số thực hay kết hợp cả hai

Sự kết luận

Phép chia trong Python cung cấp nhiều cách khác nhau để chia số. Có hiểu biết chắc chắn về các toán tử này giúp bạn trở thành một lập trình viên giỏi hơn nhiều nhờ hiểu biết vững chắc về những điều cơ bản. Để tìm hiểu thêm về những điều này, hãy xem tài liệu chính thức

Phép chia cho phép bạn chia hai số và trả về một thương số, i. e. , số đầu tiên hoặc số ở bên trái được chia cho số hoặc số thứ hai ở bên phải và trả về thương.  

Có hai loại toán tử chia.  

[i] Phân chia nổi.  

Thương số trả về bởi toán tử này luôn là một số float, bất kể hai số có phải là số nguyên hay không. Ví dụ

>>>5/5
1.0
>>>10/2
5.0
>>>-10/2
-5.0
>>>20.0/2
10.0

[ii] Phép chia số nguyên [Phép chia tầng].  

Thương số được trả về bởi toán tử này phụ thuộc vào đối số được truyền. Nếu bất kỳ số nào ở dạng float, nó sẽ trả về đầu ra ở dạng float. Nó còn được gọi là Phép chia sàn bởi vì, nếu bất kỳ số nào âm, thì đầu ra sẽ được chia sàn. Ví dụ

>>>5//5
1
>>>3//2
1
>>>10//3
3

Hãy xem xét các câu lệnh dưới đây trong Python

Python3




>>>5/5
1.0
>>>10/2
5.0
>>>-10/2
-5.0
>>>20.0/2
10.0
5

>>>5/5
1.0
>>>10/2
5.0
>>>-10/2
-5.0
>>>20.0/2
10.0
6

>>>5/5
1.0
>>>10/2
5.0
>>>-10/2
-5.0
>>>20.0/2
10.0
7
>>>5/5
1.0
>>>10/2
5.0
>>>-10/2
-5.0
>>>20.0/2
10.0
8____39
>>>5//5
1
>>>3//2
1
>>>10//3
3
0
>>>5//5
1
>>>3//2
1
>>>10//3
3
0
>>>5//5
1
>>>3//2
1
>>>10//3
3
2
>>>5//5
1
>>>3//2
1
>>>10//3
3
3

>>>5/5
1.0
>>>10/2
5.0
>>>-10/2
-5.0
>>>20.0/2
10.0
7
>>>5/5
1.0
>>>10/2
5.0
>>>-10/2
-5.0
>>>20.0/2
10.0
8____46
>>>5/5
1.0
>>>10/2
5.0
>>>-10/2
-5.0
>>>20.0/2
10.0
9
>>>5//5
1
>>>3//2
1
>>>10//3
3
0
>>>5//5
1
>>>3//2
1
>>>10//3
3
0
>>>5//5
1
>>>3//2
1
>>>10//3
3
2
>>>5//5
1
>>>3//2
1
>>>10//3
3
3

đầu ra

>> -7.0 // 3
-3.0
4

Đầu ra đầu tiên là tốt, nhưng đầu ra thứ hai có thể ngạc nhiên nếu chúng ta đến với thế giới Java/C++. Trong Python, toán tử “//” hoạt động như phép chia sàn cho các đối số số nguyên và số float. Tuy nhiên, toán tử chia '/' luôn trả về giá trị float

Ghi chú. Toán tử “//” đượ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ị đã chỉ định. Vì vậy, từ đoạn 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 bình thường, trong toán bình thường giá trị là 3]

Thí dụ

Python3




>> -7.0 // 3
-3.0
42

>> -7.0 // 3
-3.0
43

>>>5/5
1.0
>>>10/2
5.0
>>>-10/2
-5.0
>>>20.0/2
10.0
7
>>>5/5
1.0
>>>10/2
5.0
>>>-10/2
-5.0
>>>20.0/2
10.0
8____146
>>>5//5
1
>>>3//2
1
>>>10//3
3
0
>>>5//5
1
>>>3//2
1
>>>10//3
3
2
>>>5//5
1
>>>3//2
1
>>>10//3
3
3

>>>5/5
1.0
>>>10/2
5.0
>>>-10/2
-5.0
>>>20.0/2
10.0
7
>>>5/5
1.0
>>>10/2
5.0
>>>-10/2
-5.0
>>>20.0/2
10.0
8____46
>> -7.0 // 3
-3.0
46
>>>5//5
1
>>>3//2
1
>>>10//3
3
0
>>>5//5
1
>>>3//2
1
>>>10//3
3
2
>>>5//5
1
>>>3//2
1
>>>10//3
3
3

Đầu ra

# Two integers
>> 7 / 3
2.33

# One floating point value
>> 7.0 / 3
2.33

# Two floating point values
>> 7.0 / 3.0
2.33
6

Toán tử chia tầng thực sự là “//”. Nó trả về giá trị sàn cho cả đối số số nguyên và dấu phẩy động

Sự khác biệt giữa phép chia và phép chia sàn trong Python là gì?

/ vs // — phép chia vs phép chia tầng . The result of regular division is always a float, whereas if one of the operands is a float in floor division, then the output will be a float.

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

Hàm chia trong Python có hai biến thể. phân chia phao. đưa ra một câu trả lời thập phân. Phép chia số nguyên. đưa ra câu trả lời ở dạng số nguyên [kết quả phép chia được làm tròn đến số nguyên gần nhất].

Hai loại phân chia trong Python là gì?

Trong Python, có hai kiểu phân chia. phép chia số nguyên và phép chia số thực .

Sự khác biệt giữa '/' và trong Python là gì?

Trả lời. '/' là toán tử chia. '//' là toán tử chia tầng .

Chủ Đề