On 04/02/12 12:08, Debashish Saha wrote:

f(11)
Out[109]: 2.5132741228718345

f(11.0)
Out[110]: 2.7646015351590183

*question:*
why did i get different values for the same input?

Because they are not the same inputs.
11 is an integer and 11.0 is a float and Python (along with many programming languages) treats division slightly differently for
ints and floats. You can bypass this by making your divisor a
float:

######
def f(y):
     return (y/5.0)*2*(np.pi)*0.2
##########


Now it will return the same result regardless of int or float.

In Python v3 this is the default behavior

--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to