From ceea6e1ae6d56e63d9f626d61bd0dee91f49b1fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D1=83=D0=B7=D0=B0=D0=BD=D0=BE=D0=B2=20=D0=9F=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=BE?= <124675990+CrazyDuck192@users.noreply.github.com> Date: Tue, 21 Mar 2023 20:23:41 +0200 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=BC=D0=B0=D1=88=D0=BD=D1=8F=20?= =?UTF-8?q?=D1=80=D0=BE=D0=B1=D0=BE=D1=82=D0=B0=20=E2=84=9611=20(=E2=84=96?= =?UTF-8?q?16.9)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 16.9.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 16.9.py diff --git a/16.9.py b/16.9.py new file mode 100644 index 0000000..ea83b97 --- /dev/null +++ b/16.9.py @@ -0,0 +1,34 @@ +class Iterator: + + def __init__(self, data, indicator): + self.data = data.copy() + self.indicator = indicator + + + def __iter__(self): + return self + + def __next__(self): + if self.indicator == 'increase': + if not self.data: + raise StopIteration + el = min(self.data) + self.data.remove(el) + return el + elif self.indicator == 'decrease': + if not self.data: + raise StopIteration + el = max(self.data) + self.data.remove(el) + return el + +if __name__ == '__main__': + seq = [4, 7, 1, 8, 2, 3, 4, 0, 9] + seq_iter = Iterator(seq, 'increase') + for i in seq_iter: + print(i) + + seq_iter = Iterator(seq, 'decrease') + for i in seq_iter: + print(i) +