solution works, but maketrans from string library not accepted

This commit is contained in:
Jacob Delgado 2023-08-30 08:51:55 -07:00
parent 9544d64f85
commit 05ba99b479

View File

@ -1,4 +1,5 @@
import string import string
import math
def isPalindrome(s): def isPalindrome(s):
""" """
@ -6,17 +7,34 @@ def isPalindrome(s):
:rtype: bool :rtype: bool
""" """
# Create a translation table to remove uppercase letters and special characters # Create a translation table to remove uppercase letters and special characters
translation_table = str.maketrans("", "", string.ascii_uppercase + string.punctuation + string.whitespace) translation_table = str.maketrans("","", string.punctuation + string.whitespace)
# Use the translation table to remove uppercase letters and special characters # Use the translation table to remove uppercase letters and special characters
cleaned_string = s.translate(translation_table) upper_string = s.translate(translation_table)
lower_string = upper_string.lower()
half = len(cleaned_string)/2
half = len(lower_string)/2
# Round the value down since middle value doesn't matter
halfdown = math.floor(half)
# print(halfup)
# print(halfdown)
first = [] first = []
second = [] second = []
for i in range(len(half)): # print(lower_string)
return cleaned_string for i in range(halfdown):
# print(i)
# print(lower_string[i])
first.append(lower_string[i])
for j in range(halfdown+1, len(lower_string)):
second.insert(0, lower_string[j])
# print(first)
# print(second)
if first == second:
return True
else:
return False
print(isPalindrome("A man, a plan, a canal: Panama")) print(isPalindrome("A man, a plan, a canal: Panama"))