Matthew said:

I thought that -1 // 12 would be 0 also. I'm writing a simple monthly

date class and i need (-1,2001) to be translated to (11,2000). Any

ideas?

Luckily for you, Python integer division does the right thing. You

*want* -1 // 12 to be -1 for your application.

def normalize_date(month, year):

return (month % 12, year + month // 12)

normalize_date(-1, 2001) # Returns (11, 2000)

'normalize_date' as given assumes 'month' is in the range from 0 to 11; use

this if your months are in the range from 1 to 12:

def normalize_date(month, year):

return ((month - 1) % 12 + 1, year + (month - 1) // 12)