On Sep 25, 2008, at 6:11 PM, William Stein wrote: > > On Thu, Sep 25, 2008 at 6:06 PM, Robert Bradshaw > <[EMAIL PROTECTED]> wrote: >> >> >> On Sep 25, 2008, at 5:43 PM, William Stein wrote: >> >>> >>> On Thu, Sep 25, 2008 at 5:33 PM, Quicksilver_Johny >>> <[EMAIL PROTECTED]> wrote: >>>> >>>> If c=sqrt(a^2+b^2) >>>> How would I check if c is an integer in order to get a true/false >>>> value. >>>> I tried is_Integer(ZZ(c)), this returns true when c is an integer, >>>> but >>>> ZZ(c) returns an error when c is not an integer. >>> >>> Try using Python's try/except: >>> >>> try: >>> ZZ(c) >>> # c is an integer >>> except TypeError: >>> # c isn't an integer >> >> These is_* sure are causing a lot of confusion lately... > > Indeed! I like Mike Hansen's (or your) proposal to get > rid of them all from the global namespace, and replace > them only by "is_lowercase_method_name" functions > that are all conceptually meaningful. Of course leave > the type-checking is_Uppercase's around, but don't > put them in all.py's. > > What do you guys think?
+1 for sure. >> Rational numbers also have an is_integral method, so you could >> also dos >> >> c=sqrt(a^2+b^2) > > If a,b are integers, then c is either an integer or an element > of the symbolic ring... Oops... I guess one could also do "if c in ZZ" for a one-liner. - Robert --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---