On 04/08/2013 06:21 AM, Max Smith wrote:
Hi, everyone whom might read this, im Max and i am really new to coding,
been going at it for about two weeks using codeacademy and the book "think
python".
when i decided to experiment a little with if statements i ran into the
following problem:

def plus(x,y):
     if x and y == int or float:

What is it you expect this to do? Have you tried a similar, simpler expression to get acquainted?
    x = 2
    if x == int:

will always fail, since the integer 2 is not equal to the type int. In Python 2.x, when you compare objects of different types, you generally get unequal. (Exception, if you define your own classes, you can define how they compare to others) In Python 3, you'd get an exception.

The way you should test an object to see if it's an instance of a class is to use isinstance()
   http://docs.python.org/2/library/functions.html#isinstance

isinstance(x, int)
And if you need to test more than one type or class, use a tuple of the types:

isinstance(x, (int, float))

Now you can combine more than one such test:

if  isinstance(x, (int, float)) and isinstance(y, (int, float)):



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

Reply via email to