diff options
Diffstat (limited to 'comp/work/23')
-rw-r--r-- | comp/work/23/higherorder.py | 10 | ||||
-rw-r--r-- | comp/work/23/recursion.py | 7 | ||||
-rw-r--r-- | comp/work/23/stack.py | 47 |
3 files changed, 64 insertions, 0 deletions
diff --git a/comp/work/23/higherorder.py b/comp/work/23/higherorder.py new file mode 100644 index 0000000..181c333 --- /dev/null +++ b/comp/work/23/higherorder.py @@ -0,0 +1,10 @@ +def shout(word): + return (word.upper()) + +def wisper(word): + return (word.lower()) + +def say(func): + print(func("heLLo")) + +say(shout) diff --git a/comp/work/23/recursion.py b/comp/work/23/recursion.py new file mode 100644 index 0000000..63e8e6b --- /dev/null +++ b/comp/work/23/recursion.py @@ -0,0 +1,7 @@ +def factorial(num): + if num == 0: + return 0 + else: + return num + factorial(num - 1) + +print(factorial(23)) diff --git a/comp/work/23/stack.py b/comp/work/23/stack.py new file mode 100644 index 0000000..f1cea09 --- /dev/null +++ b/comp/work/23/stack.py @@ -0,0 +1,47 @@ +class Stack: + def __init__(self, size): + self.maxSize = size + self.pointer = -1 + self.data = [] + + def peek(self): + print(self.data[self.pointer]) + + def push(self, element): + if self.pointer > self.maxSize: + exit(1) + else: + self.data.append(element) + self.pointer = self.pointer + 1 + + def pop(self): + self.data.pop() + self.pointer = self.pointer - 1 + + def isfull(self): + if len(self.data) == self.maxSize: + return True + else: + return False + + def isempty(self): + if len(self.data) == 0: + return True + else: + return False + + +mystack = Stack(10) + +myinternalstack = Stack(10) + +for i in range(10): + myinternalstack.push("hello") + + +for i in range(10): + mystack.push(myinternalstack) + +mystack.peek() + + |