[Tutor] Error message...
Peter Otten
__peter__ at web.de
Thu Aug 23 16:28:04 CEST 2012
Victoria Homsy wrote:
> Sorry to bother you with a beginner's problem again...
This is the place for beginners.
> I have tried to write a program that can check if a string is a
> palindrome. My code is as follows:
>
>
> def isPalindrome(s):
> if len(s) <= 1: return True
> else: return s(0) == s(-1) and isPalindrome (s[1:-1])
> isPalindrome('aba')
>
>
> However, when I try to run it in terminal I get the following error
> message:
>
> Traceback (most recent call last):
> File "recursion.py", line 5, in <module>
> isPalindrome('aba')
> File "recursion.py", line 3, in isPalindrome
> else: return s(0) == s(-1) and isPalindrome (s[1:-1])
> TypeError: 'str' object is not callable
>
>
> I don't see why this wouldn't work...
If you want to get the nth charactor you have to put the index in brackets,
not parens:
>>> s = "foo"
>>> s(0) # wrong, python tries to treat s as a function
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object is not callable
>>> s[0] # correct
'f'
More information about the Tutor
mailing list