[EMAIL PROTECTED] wrote: > >I've not used .any or .all, but having just taught my CS1 students about >boolean operators, I was reminded that Python works as the following example >describes: > >x = a and b ># if both a and b are true, x is assigned b, otherwise x is assigned a >x = 2 and 3 # x is assigned 3 >x = 0 and 2 # x is assigned 0 > >x = a or b ># if a is true, x is assigned a, if a is true, x is assigned a, if a is false >and b is true, x is assigned b, if both a and b are false, x is assigned False > >You need to determine what should make vertex_map[tp] be true... > thanks, but having some trouble:
>>> import Numeric as N >>> a=N.array([0,0,0]) >>> b=N.array([0,0,1]) >>> a and b array([0, 0, 0]) >>> b and a array([0, 0, 0]) Can this be? Either both a and b are true, or they are not, so can it be returning the "a" in both cases? Something screwy, other than my comprehension here? Same problem with >>> a or b array([0, 0, 1]) >>> b or a array([0, 0, 1]) OTOH, this makes sense to me - with "0" being False >>> any(a) False >>> all(a) False >>> any(b) True >>> all(b) False Though anyone growing up with the Python boolean operator might wonder why it is as it is - i.e. when 0 was the way to spell False this behavior is fairly well expected. Now that False is spelled "False", having "0" any less true than "1", when thinks one is dealing with numbers as numbers, is likely to catch the less geeky unaware, IMO. Art _______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig