Пример #1
0
    def test_is_palindrome(self):
        TEST_DATA = [("", True), ("a", True), ("ab", False), ("aba", True), ("abba", True), ("abab", False)]

        for test in TEST_DATA:
            list = LinkedList(test[0])
            print "list: %s" % list
            self.assertEquals(is_palindrome(list), test[1])
def longest_palindromic_substring(string):
	"""
	>>> longest_palindromic_substring("forgeeksskeegfor")
	'geeksskeeg'

	>>> longest_palindromic_substring("l")
	'l'

	>>> longest_palindromic_substring("no palindrome")
	''
	"""

	if len(string) == 1:
		return string

	max_palindrome = ""
	max_length = 0

	for i in range(len(string)):
		for j in range(i+1, len(string)):
			if is_palindrome(string[i:j+1]) and j-i > max_length and j+1-i != 1:
				max_palindrome = string[i:j+1]
				max_length = j+1-i

	return max_palindrome
Пример #3
0
def is_lychrel(n):
    count = 0
    new = n
    while count <= 50:
        new = new + int(str(new)[::-1])
        if is_palindrome(str(new)):
            return False
        count += 1
    return True
Пример #4
0
 def test_rand(self):
     from random import randint
     for t in range(30):
         chars = [chr(randint(97, 122)) for _ in range(randint(0, 20))]
         chars.extend(chars[randint(-2, -1)::-1])
         for i in range(len(chars)):
             if randint(0, 1):
                 chars[i] = chars[i].upper()
         s = ''.join(chars)
         self.assertEqual(is_palindrome(s), True)
     for t in range(30):
         chars = [chr(randint(97, 122)) for _ in range(randint(0, 40))]
         for i in range(len(chars)):
             if randint(0, 1):
                 chars[i] = chars[i].upper()
         s = ''.join(chars)
         exp = s.lower() == s.lower()[::-1]
         self.assertEqual(is_palindrome(s), exp)
Пример #5
0
def has_palindrome(string):
    """Recebe uma string e verifica se em algum lugar dela há um palíndromo.
    :param string: string a ser analizada
    :var string2: variável onde pode conter o possível palíndromo
    :return: boolean"""
    from is_palindrome import is_palindrome

    for i in range(len(string)):
        string2 = string[i + 1:]
        for j in range(len(string2)):
            if string[i] == string2[j]:
                if is_palindrome(string[i] + string2[:j + 1]):
                    return True
    return False
def longest_pal_substring(string):
    if len(string) == 1:
        return string

    max_pal = ''
    max_len = 0

    for i in range(len(string)):
        for j in range(i +1, len(string)):
            if is_palindrome(string[i:j]) and j-i > max_len and j+1-i != 1:
                max_pal = string[i:j+1]
                max_len = j + 1 -i

    return max_pal
Пример #7
0
    def test_rand(self):
        from random import choice, randint
        from string import ascii_letters

        for _ in range(100):
            test_case = "".join(
                choice(ascii_letters) for _ in range(randint(5, 20)))

            if randint(0, 1):
                test_case += test_case[::-1]

            reference = str(test_case) == str(test_case)[::-1]

            print("Testing: \"%s\", expecting: %s" % (test_case, reference))
            self.assertEqual(is_palindrome(test_case), reference)
Пример #8
0
def Make_palindrome(str1, str2):
    """
    makes a palindrome from 2 substrings of the input
    input str1, str2 strings
    output palindrome a string OR -1 if no palindrome was found
    """
    longest_palindrome = ''

    substring_list1 = Make_substrings(str1)
    substring_list2 = Make_substrings(str2)
    #iterates over substring list1 and list2
    #for each substring adds them together and checks if it is a palendrome
    for substring1 in substring_list1:
        for substring2 in substring_list2:
            possible_palindrome = substring1 + substring2
            if is_palindrome(possible_palindrome) and len(
                    possible_palindrome) > len(longest_palindrome):
                longest_palindrome = possible_palindrome

    return longest_palindrome
Пример #9
0
def test_is_palindrome_not_palindrome():
    assert not is_palindrome("abc")
Пример #10
0
def test_is_palindrome_with_punctuation():
    assert is_palindrome("Do geese see God?")
Пример #11
0
def test_is_palindrome_with_spaces():
    assert is_palindrome("Never odd or even")
 def test_is_palindrome(self):
     self.assertTrue(pali.is_palindrome("racecar"))
     self.assertTrue(pali.is_palindrome("ABBA"))
     self.assertFalse(pali.is_palindrome("crap"))
Пример #13
0
from is_palindrome import is_palindrome

print(is_palindrome("level"))
print(is_palindrome("redder"))
print(is_palindrome("school"))
print(is_palindrome("step on no pets"))
Пример #14
0
def test_is_palindrome_single_character():
    assert is_palindrome("a")
Пример #15
0
    def test_input_5(self):

        # Failure message:
        # expected is_palindrome('amanaplanacanalpanama') to equal True
        self.assertEqual(is_palindrome('amanaplanacanalpanama'), True)
Пример #16
0
    def test_input_3(self):

        # Failure message:
        # expected is_palindrome('hannah') to equal True
        self.assertEqual(is_palindrome('hannah'), True)
Пример #17
0
    def test_input_2(self):

        # Failure message:
        # expected is_palindrome('tacocat') to equal True
        self.assertEqual(is_palindrome('tacocat'), True)
Пример #18
0
 def test_is_palindrome(self):
     string = 'radar'
     result = is_palindrome(string)
     self.assertEqual(result, True)
Пример #19
0
from is_palindrome import is_palindrome

in_str = input(
    "Please enter text and I'll check to see if this is a palndrome: ")

print("Is {} a palindrome? {}".format(in_str, is_palindrome(in_str)))
Пример #20
0
from is_palindrome import is_palindrome
from base2base import dec2bin

sum_out = 0

for i in range(1, 10**6):
    if is_palindrome(str(i)):
        if is_palindrome(dec2bin(i)):
            sum_out += i

print(sum_out)
Пример #21
0
 def test_is_palindrome(self):
     self.assertEqual(is_palindrome("Radar", "radaR"), True)
     self.assertEqual(is_palindrome("Status", "Stats"), False)
     self.assertEqual(is_palindrome("Madam", "madaM"), True)
     print("\nPassed is_palindrome with no errors!")
Пример #22
0
def test_is_palindrome_not_quite():
    assert not is_palindrome("abab")
Пример #23
0
def test_is_palindrome_empty_string():
    assert is_palindrome("")
Пример #24
0
 def test(self):
     self.assertEqual(is_palindrome('a'), True)
     self.assertEqual(is_palindrome('aba'), True)
     self.assertEqual(is_palindrome('Abba'), True)
     self.assertEqual(is_palindrome('malam'), True)
     self.assertEqual(is_palindrome('walter'), False)
     self.assertEqual(is_palindrome('kodok'), True)
     self.assertEqual(is_palindrome('Kasue'), False)
     self.assertEqual(is_palindrome('hello'), False)
     self.assertEqual(is_palindrome('Bob'), True)
     self.assertEqual(is_palindrome('Madam'), True)
     self.assertEqual(is_palindrome('AbBa'), True)
     self.assertEqual(is_palindrome(''), True)
     self.assertEqual(is_palindrome("LAGrALLyiclOaEowNvmU"), False)
     self.assertEqual(is_palindrome("cWalaIYFGucHEhbnEH"), False)
     self.assertEqual(
         is_palindrome("smlWLKQYCrRUcqOLYuGGuYLOqcURrCYQKLWlms"), True)
     self.assertEqual(is_palindrome("dRjLeHcvvcHeLjRd"), True)
     self.assertEqual(is_palindrome("wvvqHAfrFWkIYygRQHTR"), False)
     self.assertEqual(
         is_palindrome("zuKWoAyeQNvhurRlYlUUlYlRruhvNQeyAoWKuz"), True)
     self.assertEqual(is_palindrome("QtFpQMSYPMnnMPYSMQpFtQ"), True)
     self.assertEqual(is_palindrome("muNcdggdcNum"), True)
     self.assertEqual(is_palindrome("TUkKinLuE"), False)
     self.assertEqual(is_palindrome("MaKeRSDisini"), False)
Пример #25
0
# from typing import Optional
# def is_palindrome(looking_str: str, index: int = 0) -> bool:
#     """
#     Checks if input string is Palindrome
#     >>> is_palindrome('mom')
#     True
#
#     >>> is_palindrome('sassas')
#     True
#
#     >>> is_palindrome('o')
#     True
#     """
#     pass

from is_palindrome import is_palindrome

if __name__ == "__main__":
    assert is_palindrome('mom')
    assert is_palindrome('sassas')
    assert is_palindrome('o')
Пример #26
0
 def test(self):
     self.assertEqual(is_palindrome("anna"), True)
     self.assertEqual(is_palindrome("walter"), False)
     self.assertEqual(is_palindrome(12321), True)
     self.assertEqual(is_palindrome(123456), False)
Пример #27
0
def is_ll_palindrome(ll):
	data_list = ll.list_to_data()

	return is_palindrome(data_list)
Пример #28
0
def test_is_palindrome_mixed_casing():
    assert is_palindrome("Bob")
Пример #29
0
    def test_input_1(self):

        # Failure message:
        # expected is_palindrome('testing') to equal False
        self.assertEqual(is_palindrome('testing'), False)
Пример #30
0
 def testIsPalindromeStringValues(self):
     for word, number in self.stringValues:
         result = is_palindrome(word)
         self.assertEqual(number, result)
Пример #31
0
def is_ll_palindrome(ll):
    data_list = ll.list_to_data()

    return is_palindrome(data_list)
Пример #32
0
 def test_is_palindrome(self):
     self.assertTrue(is_palindrome(self.l))
     self.assertFalse(is_palindrome(self.l1))
Пример #33
0
def test_is_palindrome():
    assert is_palindrome("anna") is True
    assert is_palindrome("walter") is False
    assert is_palindrome(12321) is True
    assert is_palindrome(123456) is False
Пример #34
0
def test_single_letter_returns_true():
    assert is_palindrome("a") == True