Nếu tôi nói với Python v. 3.4.3, round(2.5)
, thì nó sẽ xuất ra 2
. Nếu tôi nói với nó là round(1.5)
thì nó cũng xuất ra 2. Tương tự, round(3.5)
cung cấp cho 4
, trong khi round(4.5)
cũng cung cấp cho 4
. Tôi cần Python để tròn với nhất quán, mặc dù. Cụ thể, nó cần phải tròn bất cứ lúc nào tôi nhập vào một số giữa hai số nguyên. Vì vậy, round(1.5) = 1
và round(2.5) = 2
, trong khi round(1.6) = 2
và như vậy, như thường lệ.Làm tròn Python không nhất quán
Tôi làm cách nào để giải quyết vấn đề này?
EDIT: Tôi đã đọc tài liệu về chức năng round
và hiểu rằng đây là hành vi dự định của nó. Câu hỏi của tôi là, làm thế nào tôi có thể thay đổi hành vi này, bởi vì với mục đích của tôi, tôi cần 1,5 vòng xuống.
bản sao có thể có của [Hành vi làm tròn Python 3.x] (http://stackoverflow.com/questions/10825926/python-3-x-rounding-behavior) – tzaman
Lưu ý rằng đây không phải là hoàn toàn trùng lặp: OP là chủ yếu là nhầm lẫn bằng cách Python 3 viên đạn, không phải bằng cách nó đã thay đổi từ Python 2. – Evert
Đây là một quan sát quan trọng đối với hầu hết người mới sử dụng Python. Mặc dù đáng ngạc nhiên lúc đầu, Python 3 vòng nhiều [nhất quán hơn bạn nghĩ] (http://stackoverflow.com/a/40376443/2932052). – Wolf