solution works, but maketrans from string library not accepted
This commit is contained in:
parent
9544d64f85
commit
05ba99b479
@ -1,4 +1,5 @@
|
||||
import string
|
||||
import math
|
||||
|
||||
def isPalindrome(s):
|
||||
"""
|
||||
@ -6,17 +7,34 @@ def isPalindrome(s):
|
||||
:rtype: bool
|
||||
"""
|
||||
# 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
|
||||
cleaned_string = s.translate(translation_table)
|
||||
|
||||
half = len(cleaned_string)/2
|
||||
upper_string = s.translate(translation_table)
|
||||
lower_string = upper_string.lower()
|
||||
|
||||
half = len(lower_string)/2
|
||||
# Round the value down since middle value doesn't matter
|
||||
halfdown = math.floor(half)
|
||||
# print(halfup)
|
||||
# print(halfdown)
|
||||
first = []
|
||||
second = []
|
||||
for i in range(len(half)):
|
||||
|
||||
return cleaned_string
|
||||
# print(lower_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"))
|
||||
Loading…
Reference in New Issue
Block a user