Christopher Spears wrote: > I'm trying to write a script that detects if a string > is palindromic (same backward as it is forward). This > is what I have so far: > > #!/usr/bin/env python > > my_str = raw_input("Enter a string: ") > > string_list = [] > > for s in my_str: > string_list.append(s) > > string_list_orig = string_list > > string_list.reverse() > > print string_list_orig > print string_list > > The problem is that the script gives results like so: > [EMAIL PROTECTED] ./chap6 117> python palindromic.py > Enter a string: abc > ['c', 'b', 'a'] >
Well, since you've converted the string to a list, what you would like to do is: print "".join( string_list_orig ) to connect them back together. However, you can simplify the code greatly: >>> s = "abcd" >>> print s[::-1] dcba >>> if s == s[::-1]: ... print "yay" ... >>> s = "abcdcba" >>> if s == s[::-1]: ... print "yay" ... yay > ['c', 'b', 'a'] > > Now I understand pointers and Python! :-) Since > string_list_orig is pointing to string_list, when I > reversed string_list, string_list_orig was reversed as > well. > > How do I get around this? Is there a better way to > write this script? I can't figure out how to loop > through a string starting from the last character. > > > "I'm the last person to pretend that I'm a radio. I'd rather go out and be a > color television set." > -David Bowie > > "Who dares wins" > -British military motto > > "I generally know what I'm doing." > -Buster Keaton > _______________________________________________ > Tutor maillist - Tutor@python.org > http://mail.python.org/mailman/listinfo/tutor > _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor