diff --git a/python-temel/myrange.py b/python-temel/myrange.py new file mode 100644 index 0000000..9015cfc --- /dev/null +++ b/python-temel/myrange.py @@ -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() + + + diff --git a/python-temel/myrange.py~ b/python-temel/myrange.py~ new file mode 100644 index 0000000..116a414 --- /dev/null +++ b/python-temel/myrange.py~ @@ -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() + + +