Luke Paireepinart wrote: > Matt Smith wrote: > >> Hi there, >> >> I'm trying to write a short function to test whether a year is a leap >> year or not. To do this I need to check whether the year divides exactly >> by 4, 100 and 400. I can't think of an easy way to test whether there is >> a remainder or not. The best I can come up with so far is: >> >> if (year / 4.0) - (year // 4.0) <> 0: >> >> This doesn't seem to work, it is always True, is there a problem with >> the comparison? The arithmetic seems to be the correct way to isolate >> the remainder of the division. >> >> Can anyone suggest a better way of performing this test or alternately, >> how can I get the line above to work. >> Matt >> >> > Matt: I'm not sure about your pseudocode, but have you tried to > accomplish this with the modulus operator? > It provides the remainder of integer division No, it provides the modulus, and applies to float not just integer!. For positive left argument that happens to = the remainder, but not for negative! See http://en.wikipedia.org/wiki/Modular_arithmetic which is how it works in python.
-- Bob Gailer 510-978-4454 _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor