One possible reason I can think of -
"- exiting this loop means all compared chars were identical hence it
is a palindrome and i return True"

is probably incorrect reasoning. Think again.

Also, you may consider posting your code in a way that preserves the
whitespace characters.

Cheers,
Xav

On 27 August 2010 18:53, Baba <raoul...@gmail.com> wrote:

> level: beginner
>
> the following code looks ok to me but it doesn't work. I would like
> some hints as to where my reasoning / thought goes wrong
>
> def i_palindrome(pal):
>  while len(pal)>1:
>  if pal[0] == pal[-1]:
>   pal=pal[1:-1]
>  return True
>
> print i_palindrome('annab')
>
>
> my reasoning:
> - i check the length of the string: if > 1 continue
> - i check first and last char: if they are equal continue
> - create a new, shorter string starting at index 1 and ending at
> second last index (up to but not including index-1
> -restart the while loop as long as length of string is > 1
> - exiting this loop means all compared chars were identical hence it
> is a palindrome and i return True
>
> tnx
> Baba
> --
> http://mail.python.org/mailman/listinfo/python-list
>
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to