#
class arraystack:
def __init__(self):
self.data=[]
def __len__(self):
return len(self.data)
def is_empty(self):
return len(self.data)==0
def push(self,e):
self.data.append(e)
def top(self):
if self.is_empty():
raise Exception('stack is empty')
else :
return self.data[-1]
def pop(self):
if self.is_empty():
raise Exception('stack is empty')
else:
self.data.pop();
s = arraystack()
s.push(10)
s.push(20)
print("Top of stack:", s.top()) # المفروض تطبع 20
s.pop()
print("Top after pop:", s.top()) # المفروض تطبع 10
print("Length of stack:", len(s)) # المفروض تطبع 1
print("Is empty?", s.is_empty()) # المفروض تطبع False
s.pop()
print("Is empty after popping all?", s.is_empty()) # المفروض تطبع True
IwpjbGFzcyBhcnJheXN0YWNrOgogICAgZGVmIF9faW5pdF9fKHNlbGYpOgogICAgICAgIHNlbGYuZGF0YT1bXQogICAgZGVmIF9fbGVuX18oc2VsZik6CiAgICAgICAgcmV0dXJuIGxlbihzZWxmLmRhdGEpCiAgICBkZWYgaXNfZW1wdHkoc2VsZik6CiAgICAgICAgcmV0dXJuIGxlbihzZWxmLmRhdGEpPT0wICAKICAgIGRlZiBwdXNoKHNlbGYsZSk6CiAgICAgICAgc2VsZi5kYXRhLmFwcGVuZChlKQogICAgZGVmIHRvcChzZWxmKToKICAgICAgICBpZiBzZWxmLmlzX2VtcHR5KCk6CiAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignc3RhY2sgaXMgZW1wdHknKSAKICAgICAgICBlbHNlIDoKICAgICAgICAgICAgcmV0dXJuIHNlbGYuZGF0YVstMV0KICAgIGRlZiBwb3Aoc2VsZik6CiAgICAgICAgaWYgc2VsZi5pc19lbXB0eSgpOgogICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ3N0YWNrIGlzIGVtcHR5JykgCiAgICAgICAgZWxzZToKICAgICAgICAgICAgc2VsZi5kYXRhLnBvcCgpOyAgIAoKCnMgPSBhcnJheXN0YWNrKCkKcy5wdXNoKDEwKQpzLnB1c2goMjApCnByaW50KCJUb3Agb2Ygc3RhY2s6Iiwgcy50b3AoKSkgICMg2KfZhNmF2YHYsdmI2LYg2KrYt9io2LkgMjAKcy5wb3AoKQpwcmludCgiVG9wIGFmdGVyIHBvcDoiLCBzLnRvcCgpKSAgIyDYp9mE2YXZgdix2YjYtiDYqti32KjYuSAxMApwcmludCgiTGVuZ3RoIG9mIHN0YWNrOiIsIGxlbihzKSkgICMg2KfZhNmF2YHYsdmI2LYg2KrYt9io2LkgMQpwcmludCgiSXMgZW1wdHk/Iiwgcy5pc19lbXB0eSgpKSAgIyDYp9mE2YXZgdix2YjYtiDYqti32KjYuSBGYWxzZQpzLnBvcCgpCnByaW50KCJJcyBlbXB0eSBhZnRlciBwb3BwaW5nIGFsbD8iLCBzLmlzX2VtcHR5KCkpICAjINin2YTZhdmB2LHZiNi2INiq2LfYqNi5IFRydWUK