For another Core Python Programming question, I created a stack class. I then put the class into a script to test it:
#!/usr/bin/python class Stack(list): def isempty(self): length = len(self) if length == 0: return True else: return False def peek(self): length = len(self) if length == 0: return 0 else: last_index = length - 1 return self[last_index] def stackpop(self): length = len(self) if length == 0: print "Empty list!" else: last_index = length - 1 stackpop_val = self[last_index] self = self[:last_index] return stackpop_val def push(self, value): return self.append(value) if __name__ == '__main__': x = True stack = Stack() print "Pick an option to modify stack: " while x == True: print "1) Peek at the last value" print "2) Pop off the last value" print "3) Push a value on the stack" print "4) Quit Program" choice_string = raw_input("Make a choice: ") try: choice = int(choice_string) except ValueError: sys.exit("Not an integer! Goodbye!") if choice == 1: if stack.isempty(): print "Stack is empty" else: peek_val = stack.peek() print peek_val elif choice == 2: if "pop" in dir(list): pop_val = stack.pop() print pop_val else: pop_val = stack.stackpop() print pop_val elif choice == 3: push_val = raw_input("Push this value on stack: ") stack.push(push_val) print stack elif choice == 4: print "Goodbye!" x = False else: x = False sys.exit("Wrong response Goodbye!") According to the question, I should test if the pop() function is available. If that function is not available, the stack should use a pop() method of my own design. I think I solved the problem, but I am not sure how to test it because Python 2.4 is installed on my computer. _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor