Hướng dẫn why do we use division to float in python? - tại sao chúng ta sử dụng phép chia để thả nổi trong python?

Làm thế nào tôi có thể buộc sự phân chia để được thả nổi trong Python?

Tôi có hai giá trị số nguyên A và B, nhưng tôi cần tỷ lệ của chúng ở điểm nổi. Tôi biết rằng A

Làm thế nào tôi có thể buộc C trở thành một số điểm nổi trong Python sau đây?

c = a / b

Những gì thực sự được hỏi ở đây là:

"Làm thế nào để tôi buộc sự phân chia thực sự sao cho

>>> 1/2
0.5
0 sẽ trả lại một phần?"

Nâng cấp lên Python 3

Trong Python 3, để có được sự phân chia thực sự, bạn chỉ cần làm

>>> 1/2
0.5
0.

>>> 1/2
0.5

Phân chia sàn, hành vi phân chia cổ điển cho số nguyên, hiện là

>>> 1/2
0.5
2:

>>> 1//2
0
>>> 1//2.0
0.0

Tuy nhiên, bạn có thể bị mắc kẹt khi sử dụng Python 2 hoặc bạn có thể viết mã phải hoạt động trong cả 2 và 3.

Nếu sử dụng Python 2

Trong Python 2, nó không quá đơn giản. Một số cách để đối phó với bộ phận Python 2 cổ điển là tốt hơn và mạnh mẽ hơn những cách khác.

Khuyến nghị cho Python 2

Bạn có thể nhận được hành vi phân chia Python 3 trong bất kỳ mô -đun nào với nhập khẩu sau ở đầu:

from __future__ import division

sau đó áp dụng phân chia kiểu Python 3 cho toàn bộ mô -đun. Nó cũng hoạt động trong vỏ trăn tại bất kỳ điểm nào. Trong Python 2:

>>> from __future__ import division
>>> 1/2
0.5
>>> 1//2
0
>>> 1//2.0
0.0

Đây thực sự là giải pháp tốt nhất vì nó đảm bảo mã trong mô -đun của bạn tương thích về phía trước với Python 3.

Các tùy chọn khác cho Python 2

Nếu bạn không muốn áp dụng điều này cho toàn bộ mô -đun, bạn sẽ giới hạn trong một vài cách giải quyết. Phổ biến nhất là ép buộc một trong những toán hạng cho một chiếc phao. Một giải pháp mạnh mẽ là

>>> 1/2
0.5
3. Trong vỏ trăn tươi:

>>> 1/(2 * 1.0)
0.5

Ngoài ra mạnh mẽ là

>>> 1/2
0.5
4 từ mô -đun
>>> 1/2
0.5
5
>>> 1/2
0.5
6, nhưng điều này có thể chậm hơn vì đó là một cuộc gọi chức năng:

>>> from operator import truediv
>>> truediv(1, 2)
0.5

Không được khuyến nghị cho Python 2

Thường thấy là

>>> 1/2
0.5
7. Điều này sẽ tăng một kiểu mẫu nếu B là một số phức. Vì sự phân chia với các số phức được xác định, tôi không có sự phân chia nào khi vượt qua một số phức cho ước số.

>>> 1 / float(2)
0.5
>>> 1 / float(2j)
Traceback (most recent call last):
  File "", line 1, in 
TypeError: can't convert complex to float

Tôi không có ý nghĩa gì khi cố tình làm cho mã của bạn dễ vỡ hơn.

Bạn cũng có thể chạy Python bằng cờ

>>> 1/2
0.5
8, nhưng điều này có nhược điểm của việc thực hiện tất cả các mô -đun với hành vi Python 3 mới và một số mô -đun của bạn có thể mong đợi sự phân chia cổ điển, vì vậy tôi không đề xuất điều này ngoại trừ thử nghiệm. Nhưng để chứng minh:

$ python -Qnew -c 'print 1/2'
0.5
$ python -Qnew -c 'print 1/2j'
-0.5j

Hướng dẫn why do we use division to float in python? - tại sao chúng ta sử dụng phép chia để thả nổi trong python?

Python có hai loại phân chia: bộ phận số nguyên và phân chia float. Bộ phận số nguyên trả lại sàn của bộ phận. 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 ví dụ này, chúng tôi sẽ xem xét cách thực hiện bộ phận nổi.integer division and float division. Integer division returns the floor of the division. Integer values are precisely stored, so they are safe to use in comparisons. In this example, we will look at how to perform float division.

Để chia các giá trị nổi trong Python, hãy sử dụng / toán tử. Nhà điều hành bộ phận / lấy hai tham số và trả về bộ phận Float. Phân chia float tạo ra một phỏng đoán điểm nổi về kết quả của một bộ phận.

Nếu bạn đang làm việc với Python 3 và bạn cần thực hiện một bộ phận nổi, thì hãy sử dụng toán tử phân chia.

Đầu ra

Chỉ có một số lượng giá trị cụ thể sau thập phân có thể được lưu, do đó không thể lưu trữ một mô tả nhị phân chính xác về nhiều số điểm nổi.

Phân chia phao cho Python 2

Trong Python 2, nhà điều hành 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 hai giá trị là phao, giá trả là giá trị float.“/”. If both values are integers, the result is an integer. If either of the values is the float, the return is the float value.

Để thực hiện phân chia float trong Python 2, hãy nhập gói phân chia __future__ và sau đó sử dụng toán tử \ \ 'để có kết quả.__future__ module and then use the “\\” operator to get the result.

from __future__ import division

print(10 // 9)

Đầu ra

Chỉ có một số lượng giá trị cụ thể sau thập phân có thể được lưu, do đó không thể lưu trữ một mô tả nhị phân chính xác về nhiều số điểm nổi.// operator is used for truncating division. Adding a dot (.) operator indicates the floating-point numbers.

Phân chia phao cho Python 2

Tại sao sự phân chia là nổi trong Python?

Hoạt động phân chia float / được sử dụng khi bạn muốn kết quả phân chia chính xác hơn, vì nó không làm tròn giá trị cho toàn bộ số. Cần lưu ý rằng đối với các giá trị thập phân định kỳ, có giới hạn về số lượng biến một biến nổi có thể lưu trữ, do đó không phải lúc nào cũng có thể lưu trữ giá trị chính xác.when you want a more precise division result, as it does not round off the value to whole numbers. It must be noted that for recurring decimal values, there is a limit to how many digits a float variable can store, so it is not always possible to store the exact value.

Tại sao chúng ta sử dụng để phân chia trong Python?

Đôi khi chúng tôi hy vọng sự phân chia sẽ tạo ra số điểm nổi chính xác và những lần khác chúng tôi muốn có một kết quả số nguyên tròn xuống. Nói chung, định nghĩa Python của phân chia (/) chỉ phụ thuộc vào các đối số. Ví dụ, trong Python 2.7, chia 20/7 là 2 vì cả hai đối số trong đó số nguyên.to generate create precise floating point number and other times we want a rounded-down integer result. In general, the python definition of division(/) depended solely on the arguments. For example in python 2.7, dividing 20/7 was 2 because both arguments where integers.

Phân chia nổi là gì?

Các bộ phận nổi là các đơn vị không có ranh giới vật lý, nhưng vẫn duy trì tính toàn vẹn của từng nhóm chuyên môn.units with no physical boundaries, but still maintain the integrity of each specialized team.

Phân khu A có phải là hoạt động điểm nổi không?

Các hoạt động số học trên các số điểm nổi bao gồm cộng, trừ, nhân và chia.Các hoạt động được thực hiện với các thuật toán tương tự như các thuật toán được sử dụng trên các số nguyên cường độ ký hiệu (vì sự giống nhau của biểu diễn) - ví dụ, chỉ thêm các số của cùng một dấu.. The operations are done with algorithms similar to those used on sign magnitude integers (because of the similarity of representation) — example, only add numbers of the same sign.