Hello , i have to write a palindrome tester using a stack and a queue. You will need to handle strings that may have upper/lower case letters and white space between the letters. We will not include punctuation marks in our strings. Here’s an example: The user inputs otto, you read the string in, you print out something like “otto is a palindrome.” The user inputs r a DA r, you output “r a DA r is a palindrome.” here iw the code i originally had which worked: def main(): my_str = input("Enter a string: ") my_str2 = [c for c in my_str.lower() if c.isalpha()] rev_str = reversed(my_str2) # check if the string is equal to its reverse if list(my_str2) == list(rev_str): print(my_str,"is a palindrome") else: print(my_str, "is not a palindrome")
if __name__ == '__main__': main() But they want us to use a stack and a queue so how would i go about doing that? Here are the stack and queue classes class Stack: """Top of the stack is at the end of the list""" def __init__(self): self._items = [] def push(self, obj): self._items.append(obj) def pop(self): return self._items.pop() def peek(self): return self._items[-1] def isEmpty(self): return len(self._items) == 0 def __len__(self): return len(self._items) def __str__(self): return "bottom " + str(self._items) + " top" def reverse(self): return self._items.reverse() stack = Stack() stack2 = Stack() class Queue: def __init__(self): self.items = [] def isEmpty(self): return self.items == [] def enqueue(self, item): self.items.insert(0,item) def dequeue(self): return self.items.pop() def size(self): return len(self.items) any help is always appreciated stephanie _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor