diff options
Diffstat (limited to '9618-42-mj-2022/Question1_J22.py')
-rw-r--r-- | 9618-42-mj-2022/Question1_J22.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/9618-42-mj-2022/Question1_J22.py b/9618-42-mj-2022/Question1_J22.py new file mode 100644 index 0000000..3b8e5c5 --- /dev/null +++ b/9618-42-mj-2022/Question1_J22.py @@ -0,0 +1,46 @@ +#1a +StackData = [None for i in range(10)] # global variable because defined in the main script execution context. +StackPointer = 0 # global variable because defined in the main script execution context. + +#1b +def OutputAllElements(): + global StackData + global StackPointer + for dataItem in StackData: + print(dataItem) + print(f"Stack pointer: {StackPointer}") + +#1c +def Push(push_item: int): + global StackData + global StackPointer + if StackPointer == len(StackData): + return False + StackData[StackPointer] = push_item + StackPointer += 1 + return True +# 1 e i +def Pop(): + global StackData + global StackPointer + if StackPointer == 0: + return -1 + StackPointer -= 1 + item = StackData[StackPointer] + StackData[StackPointer] = None + return item + +#1d +for i in range(11): + num = int(input(f"Number {i}: ")) + successful = Push(num) + if successful: + print("Successfully pushed the item to the stack.") + else: + print("The stack is full.") +print(StackData) + +# 1 e ii +Pop() +Pop() +print(StackData)
\ No newline at end of file |