0

I don't understand why function plnd returns correct results but plnd_v does not.

Maybe someone here can explain what is happening behind the scenes. The sentence checked is:

sen = "A man, a plan, a canal: Panama"

and it is a palindrome.

def plnd(a):
    filtered_rev = filter(lambda x: x.isalnum(),sen)
    lower_rev = map(lambda x: x.lower(), filtered_rev)

    rev = ''.join(lower_rev)[::-1]
    print(len(rev))

    filtered = filter(lambda x: x.isalnum(),sen)
    lower = map(lambda x: x.lower(), filtered)

    reg = ''.join(lower)
    print(len(reg))

    if rev == reg:
        print(f"'{sen}' is a Palindrome! ")
    else:
        print("Not a palindrome")
def plnd_v(a):
    filtered = filter(lambda x: x.isalnum(),sen)
    lower = map(lambda x: x.lower(), filtered)

    rev = ''.join(lower)[::-1]

    reg = ''.join(lower)

    if rev == reg:
        print(f"'{sen}' is a Palindrome! ")
    else:
        print("Not a palindrome")
mkrieger1
  • 19,194
  • 5
  • 54
  • 65
Lena Meer
  • 79
  • 9

0 Answers0