2015-11-19 18 views

Trả lời

7

Hãy thử type(1/2.0), điều này sẽ trả về phao. Một trong những con số phải là một giá trị float để có được một giá trị trả về trong float.

Nhà điều hành phân chia Python-2.x theo sau Phòng cổ điển. Khi được trình bày với toán hạng số nguyên, phân chia cổ điển cắt ngắn vị trí thập phân, trả về một số nguyên (còn gọi là phân chia tầng). Khi đưa ra một cặp toán hạng dấu phẩy động, nó trả về thương số dấu phẩy động thực (hay còn gọi là phân chia đúng).

Ví dụ:

>>> 1/2   # integer truncation (floor division) 
0 
>>> 1.0/2.0  # returns real quotient (true division) 
0.5 

Trong Python 3.x, chia công trình khác nhau. type(1/2) sẽ trả về loại phao. Toán tử phân chia Python-3.x theo sau True Division.

+0

Trong python2, '-1/2 == - 1', do đó," cắt ngắn chữ số thập phân "có thể là một chút gây hiểu nhầm. (Nhưng sau đó, số nguyên phân chia trên số âm là một braintwister trong và của chính nó.) –

0

Trong Python 2x, Division không remainder/divider thêm vào thương => phân chia sàn Nếu bạn muốn để buộc 2x trở true division (remainder/divider thêm vào thương) sau đó thử.

>>>from __future__ import division 
>>>2/3 
>>>0.6666666666666666 

Nhưng nếu bạn cần lại behaviuor trước đó (tức là bộ phận sàn) sau đó thử

>>>2//3 
>>>0 

Trong Python 3x Đúng bộ phận occurs-

Các vấn đề liên quan