Skip to content

Instantly share code, notes, and snippets.

@seanjensengrey
Last active February 4, 2022 00:13
Show Gist options
  • Save seanjensengrey/0d5a75e9adcd5aabe569f6d6db165a5c to your computer and use it in GitHub Desktop.
Save seanjensengrey/0d5a75e9adcd5aabe569f6d6db165a5c to your computer and use it in GitHub Desktop.

Revisions

  1. seanjensengrey revised this gist Feb 4, 2022. 1 changed file with 0 additions and 7 deletions.
    7 changes: 0 additions & 7 deletions stack.py
    Original file line number Diff line number Diff line change
    @@ -8,40 +8,33 @@ def __repr__(self):
    def push(self, value):
    self.items.append(value)


    def pop(self):
    return self.items.pop()


    def add(self):
    right = self.pop()
    left = self.pop()
    self.push(left + right)


    def sub(self):
    right = self.pop()
    left = self.pop()
    self.push(left - right)


    def mul(self):
    right = self.pop()
    left = self.pop()
    self.push(left * right)


    def div(self):
    right = self.pop()
    left = self.pop()
    self.push(left / right)


    def rotate(self):
    left = self.items[1:]
    right = [self.items[0]]
    self.items = left + right


    def swap(self):
    self.items[-2:] = self.items[-2:][::-1]
  2. seanjensengrey revised this gist Feb 3, 2022. 1 changed file with 3 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion stack.py
    Original file line number Diff line number Diff line change
    @@ -38,7 +38,9 @@ def div(self):


    def rotate(self):
    self.items = self.items[1:] + [self.items[0]]
    left = self.items[1:]
    right = [self.items[0]]
    self.items = left + right


    def swap(self):
  3. seanjensengrey created this gist Feb 3, 2022.
    45 changes: 45 additions & 0 deletions stack.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,45 @@
    class StackModule:
    def __init__(self):
    self.items = []

    def __repr__(self):
    return repr(self.items)

    def push(self, value):
    self.items.append(value)


    def pop(self):
    return self.items.pop()


    def add(self):
    right = self.pop()
    left = self.pop()
    self.push(left + right)


    def sub(self):
    right = self.pop()
    left = self.pop()
    self.push(left - right)


    def mul(self):
    right = self.pop()
    left = self.pop()
    self.push(left * right)


    def div(self):
    right = self.pop()
    left = self.pop()
    self.push(left / right)


    def rotate(self):
    self.items = self.items[1:] + [self.items[0]]


    def swap(self):
    self.items[-2:] = self.items[-2:][::-1]