I was reading the page at http://docs.python.org/howto/curses.html, which contains the following paragraph:
A word about the coordinate system used in curses: coordinates are always passed in the order y,x, and the top-left corner of a window is coordinate (0,0). This breaks a common convention for handling coordinates, where the x coordinate usually comes first. This is an unfortunate difference from most other computer applications, but its been part of curses since it was first written, and its too late to change things now.
But there's one other case where (y,x) ordering is very common: elements of a matrix are almost always named by row before column (with the upper left at 0,0). Further, the curses screen in some sense is closer to a (rows x cols) matrix than it is to a regular coordinate field since the individual 'points' are so huge.
I think it might be helpful to make this analogy. Something like the following:
If it helps, you can think of the screen as a matrix instead of the Cartesian plane, and the coordinates as (row, column) rather than a reversed version of (x, y).