my range
This commit is contained in:
parent
2de5acfc10
commit
7be4ed70a7
37
python-temel/myrange.py
Normal file
37
python-temel/myrange.py
Normal file
|
@ -0,0 +1,37 @@
|
|||
class myrange:
|
||||
def __init__(self, start, stop = None, step = 1):
|
||||
if stop == None:
|
||||
self._start = 0
|
||||
self._stop = start
|
||||
else:
|
||||
self._start = start
|
||||
self._stop = stop
|
||||
self._step = step
|
||||
|
||||
def __iter__(self):
|
||||
return myrange_iterator(self)
|
||||
|
||||
class myrange_iterator:
|
||||
def __init__(self, mr):
|
||||
self._mr = mr
|
||||
self._i = mr._start
|
||||
|
||||
def __iter__(self):
|
||||
return self
|
||||
|
||||
def __next__(self):
|
||||
if self._i >= self._mr._stop:
|
||||
raise StopIteration
|
||||
self._i += self._mr._step
|
||||
|
||||
return self._i - self._mr._step
|
||||
for i in myrange(10):
|
||||
print(i, end = ' ')
|
||||
print()
|
||||
|
||||
for i in myrange(1, 10, 2):
|
||||
print(i, end = ' ')
|
||||
print()
|
||||
|
||||
|
||||
|
37
python-temel/myrange.py~
Normal file
37
python-temel/myrange.py~
Normal file
|
@ -0,0 +1,37 @@
|
|||
class myrange:
|
||||
def __init__(self, start, stop = None, step = 1):
|
||||
if stop == None:
|
||||
self._start = 0
|
||||
self._stop = start
|
||||
else:
|
||||
self._start = start
|
||||
self._stop = stop
|
||||
self._step = step
|
||||
|
||||
def __iter__(self):
|
||||
return myrange_iterator(self)
|
||||
|
||||
class myrange_iterator:
|
||||
def __init__(self, mr):
|
||||
self._mr = mr
|
||||
self._i = mr._start
|
||||
|
||||
def __iter__(self):
|
||||
return self
|
||||
|
||||
def __next__(self):
|
||||
if self._i >= self._mr._stop:
|
||||
raise StopIteration
|
||||
self.i_ += self._mr._step
|
||||
|
||||
return self._i - self._mr._step
|
||||
for i in myrange(10):
|
||||
print(i, end = ' ')
|
||||
print()
|
||||
|
||||
for i in myrange(1, 10, 2):
|
||||
print(i, end = ' ')
|
||||
print()
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user