#!/usr/bin/env python3
class Obj(): # Итерируемый объект
def __init__(self, word):
self.word = word
def __iter__(self):
return Iterator(self.word)
class Iterator: # Итератор
def __init__(self, word):
self.word = word
self.index = 0
def __next__(self):
try:
letter = self.word[self.index]
self.index += 1
return letter
except IndexError:
raise StopIteration()
def __iter__(self):
return self
obj = Obj('sergey')
it = iter(obj)
print(it.__next__())
print(it.__next__())
print(it.__next__())
print(it.__next__())
print(it.__next__())
print(it.__next__())
print(it.__iter__())
IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwoKCmNsYXNzIE9iaigpOgkjINCY0YLQtdGA0LjRgNGD0LXQvNGL0Lkg0L7QsdGK0LXQutGCCiAgZGVmIF9faW5pdF9fKHNlbGYsIHdvcmQpOgogICAgc2VsZi53b3JkID0gd29yZAoKICBkZWYgX19pdGVyX18oc2VsZik6CiAgICByZXR1cm4gSXRlcmF0b3Ioc2VsZi53b3JkKQoKY2xhc3MgSXRlcmF0b3I6IAkjINCY0YLQtdGA0LDRgtC+0YAKICBkZWYgX19pbml0X18oc2VsZiwgd29yZCk6CiAgICBzZWxmLndvcmQgPSB3b3JkCiAgICBzZWxmLmluZGV4ID0gMAoKICBkZWYgX19uZXh0X18oc2VsZik6CiAgICB0cnk6CiAgICAgIGxldHRlciA9IHNlbGYud29yZFtzZWxmLmluZGV4XQogICAgICBzZWxmLmluZGV4ICs9IDEKICAgICAgcmV0dXJuIGxldHRlciAgCiAgICBleGNlcHQgSW5kZXhFcnJvcjoKICAgICAgcmFpc2UgU3RvcEl0ZXJhdGlvbigpICAgIAoKICBkZWYgX19pdGVyX18oc2VsZik6CiAgICByZXR1cm4gc2VsZgogICAgCgpvYmogPSBPYmooJ3NlcmdleScpCml0ID0gaXRlcihvYmopCgpwcmludChpdC5fX25leHRfXygpKQpwcmludChpdC5fX25leHRfXygpKQpwcmludChpdC5fX25leHRfXygpKQpwcmludChpdC5fX25leHRfXygpKQpwcmludChpdC5fX25leHRfXygpKQpwcmludChpdC5fX25leHRfXygpKQoKcHJpbnQoaXQuX19pdGVyX18oKSkKCg==