summaryrefslogtreecommitdiff
path: root/comp/work/23
diff options
context:
space:
mode:
Diffstat (limited to 'comp/work/23')
-rw-r--r--comp/work/23/higherorder.py10
-rw-r--r--comp/work/23/recursion.py7
-rw-r--r--comp/work/23/stack.py47
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()
+
+