コード例 #1
0
 def test_remove_rear(self):
     d = Dequeue()
     d.add_front("apple")
     d.add_front("banana")
     d.add_front("cherry")
     self.assertEqual(d.remove_rear(), "apple")
     self.assertEqual(d.items, ["cherry", "banana"])
コード例 #2
0
def PalindromeDetector(string):
    dq = Dequeue()
    for letter in string:
        dq.add_rear(letter)

    while dq.size() > 1:
        if dq.remove_front() != dq.remove_rear():
            return False

    return True
コード例 #3
0
def palindrome_checker(word):
    """Return True if word reads the same forward and backward."""
    d = Dequeue()
    for character in word:
        d.add_rear(character)
    backwards = "".join([d.remove_rear() for character in word])

    if word == backwards:
        return True
    return False
コード例 #4
0
def check_palindrome(string_to_check):
    dq = Dequeue()
    dq.set_items(string_to_check)

    is_palindrome = True

    while dq.size() > 1:
        if dq.remove_front() != dq.remove_rear():
            is_palindrome = False

    return is_palindrome
コード例 #5
0
    def test_remove_rear(self):
        """Test remove rear method."""
        d = Dequeue()
        d.add_rear(1)
        d.add_rear(2)
        d.add_rear(3)
        self.assertEqual(d._items, [1, 2, 3])

        rear = d.remove_rear()

        self.assertEqual(rear, 3)
        self.assertEqual(d._items, [1, 2])
コード例 #6
0
def check_palindrome(string_to_check):
    sanitised_string = re.sub("[^a-zA-Z]","", string_to_check).lower()
    
    dq = Dequeue()
    dq.set_items(sanitised_string)

    is_palindrome = True

    while dq.size() > 1:
        if dq.remove_front() != dq.remove_rear():
            is_palindrome = False
    
    return is_palindrome
コード例 #7
0
class PalindromeChecker:
    def __init__(self):
        self.dq = Dequeue()

    def check_if_palindrome(self, word):
        self.dq.items = list(word)
        is_palindrome = True
        while self.dq.size() > 1:
            first_letter = self.dq.remove_front()
            last_letter = self.dq.remove_rear()
            if first_letter != last_letter:
                is_palindrome = False

        return is_palindrome
コード例 #8
0
def pal_checker(word):
    chardequeue = Dequeue()

    for char in word:
        chardequeue.add_rear(char)

    still_equal = True

    while chardequeue.size() > 1 and still_equal:
        first = chardequeue.remove_front()
        last = chardequeue.remove_rear()
        if first != last:
            still_equal = False

    return still_equal
コード例 #9
0
 def test_remove_empty(self):
     d = Dequeue()
     self.assertEqual(d.items, [])
     self.assertEqual(d.remove_front(), None)
     self.assertEqual(d.remove_rear(), None)