Subscribe to Selinap.com feed right now!  Get Updates by Email

Python: Make division always produce real numbers

A division of 7/3 in Python will gives a result of 2. However, this is not correct. Since Python always assume that the numbers are whole numbers, the result will be truncated from 2.5 to 2.

A work around is to write one or both of the numbers as a decimal:

1
2
3
4
5
6
7
8
>>> print 7/3.0  
2.5  
 
>>> print 7.0/3  
2.5  
 
>>> print 7.0/3.0  
2.5

In order to change this behaviour of Python, throughout the program execution, so that Python will always produce real numbers, a module division has to be imported.

1
2
3
4
>>> from __future__ import division   
 
>>> print 7/3  
2.5

Tags: , , ,

If you liked this post, these other posts might also be interesting to you:

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

Allowed tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="">

Recent Readers: