diff options
Diffstat (limited to 'rc_skip_last.py')
-rwxr-xr-x | rc_skip_last.py | 90 |
1 files changed, 44 insertions, 46 deletions
diff --git a/rc_skip_last.py b/rc_skip_last.py index 6557039..e58fa90 100755 --- a/rc_skip_last.py +++ b/rc_skip_last.py @@ -1,46 +1,44 @@ -# rc.py
-
-class RC():
- def __init__(self,nr,nc):
- self.nr=nr; self.nc=nc
-
- def inc_r(self,ind):
- r,c=self.row_col(ind)
- r+=1
- if r==self.nr: r=0
- if r==(self.nr-1) and c==(self.nc-1): r=0
- return self.indx(r,c)
-
- def dec_r(self,ind):
- r,c=self.row_col(ind)
- r-=1
- if r<0: r=self.nr-1
- if r==(self.nr-1) and c==(self.nc-1): r=self.nr-2
- return self.indx(r,c)
-
- def inc_c(self,ind):
- r,c=self.row_col(ind)
- c+=1
- if c==self.nc: c=0
- if r==(self.nr-1) and c==(self.nc-1): c=0
- return self.indx(r,c)
-
- def dec_c(self,ind):
- r,c=self.row_col(ind)
- c-=1
- if c<0: c=self.nc-1
- if r==(self.nr-1) and c==(self.nc-1): c=self.nc-2
- return self.indx(r,c)
-
- def row_col(self,ind):
- i=0
- for r in range(self.nr):
- for c in range(self.nc):
- if i==ind: return r,c
- i+=1
-
- def indx(self,r,c):
- return r*self.nc+c
-
-
-
+# rc.py + +class RC(): + def __init__(self,nr,nc): + self.nr=nr; self.nc=nc + + def inc_r(self,ind): + r,c=self.row_col(ind) + r+=1 + if r==self.nr: r=0 + if r==(self.nr-1) and c==(self.nc-1): r=0 + return self.indx(r,c) + + def dec_r(self,ind): + r,c=self.row_col(ind) + r-=1 + if r<0: r=self.nr-1 + if r==(self.nr-1) and c==(self.nc-1): r=self.nr-2 + return self.indx(r,c) + + def inc_c(self,ind): + r,c=self.row_col(ind) + c+=1 + if c==self.nc: c=0 + if r==(self.nr-1) and c==(self.nc-1): c=0 + return self.indx(r,c) + + def dec_c(self,ind): + r,c=self.row_col(ind) + c-=1 + if c<0: c=self.nc-1 + if r==(self.nr-1) and c==(self.nc-1): c=self.nc-2 + return self.indx(r,c) + + def row_col(self,ind): + i=0 + for r in range(self.nr): + for c in range(self.nc): + if i==ind: return r,c + i+=1 + + def indx(self,r,c): + return r*self.nc+c +
\ No newline at end of file |