con anyone explain to my why this function did not work def isPalindrome(str, first=0, last=-1): if first >= len(str)/2: return True if str[first] != str[last]: return False isPalindrome(l, first+1, last-1) l am try to use the recursion function to know if the string is palindrome or not
12/3/2020 8:59:04 PMAli Hesham
4 AnswersNew Answer
https://code.sololearn.com/cW0Ly3HBUi5n/?ref=app 1. The variable l doesn't exist, you're meant to pass str as the argument. 2. You have to put a return before the recursive function call.
Angelo Yeah I assume it's only for practice, I myself understand how recursion works but I try to stay away from them as far as possible. Checking if something is a palindrome is as simple as this: def isPalindrome(x): return x == x[::-1]
This is sooo wrong... Just the fact you want to do it recursively is wrong (all that poor stack memory wasted) First: isPalindrome("abcd... ", 3) will return True when it's not supposed to Second: you should at least return the function in some way to make it recursive So... if first >= last: return True if str[first] != str[last]: return False return isPalindrome(str, first+1, last-1)
That, inxanedev!, is a Python code worth of that name!