ps9#2: quick question. for part #2 we have to write addShape to our shape set. My thinking is that I would test with an if statement to verify that the argument passed to the addShape is in fact a valid shape. What's odd is that the program works when I'm limited just to circles. however when I use an if statement with 'or' for circle,square,triangle, I get an error. can anyone explain what's going on? here's the circle example http://codepad.org/LK04Deey here's the circle, square, triangle example where I get a type error. http://codepad.org/T0bXeVGk
maybe try the isinstance() function instead - http://docs.python.org/library/functions.html#type
I figured it out. It was kinda obvious. I think if only takes one comparison/equality. You can't use 'or' within the if statement. http://codepad.org/kTzrKgPa
you should be able to use multiple expresions (that evaluate to a boolean) seperated be or or and in an if statement - http://dpaste.com/699316/
ah. I got my equalities screwed up. I need an 'and' statement instead of an 'or' statement. if it's the case that they are all 'not equal', then I don't have a valid shape. Thanks.
and using isinstance is easier if they are all subclasses of the same class http://dpaste.com/699332/
thanks for all the feedback bwCA. really helps my understanding.
Join our real-time social learning platform and learn together with your friends!