Τη Παρασκευή, 21 Ιουνίου 2013 12:15:59 μ.μ. UTC+3, ο χρήστης Peter Otten έγραψε: > nickgan....@windowslive.com wrote: > > > > > I have recently started to solve my first Python problems but I came > > > across to this: > > > Write a version of a palindrome recogniser that accepts a file name from > > > the user, reads each line, and prints the line to the screen if it is a > > > palindrome.(by http://www.ling.gu.se/~lager/python_exercises.html) > > > > > > I think I coded it correctly but still I get no output. I do not have any > > > errors I just do not get any output. > > > > > > This is the code: > > > > > import is_palindrome > > > > > > filename = raw_input('Enter a file: ') # A text file > > > f = open(filename) > > > while True: > > > line = f.readline() > > > > The line includes the trailing newline character which breaks the symmetry: > > > > >>> "abba" == "abba"[::-1] > > True > > >>> "abba\n" == "abba\n"[::-1] > > False > > > > Use > > > > word = line.strip() > > > > to remove all leading and trailing whitespace. > > > > > if len(line) == 0: > > > break > > > elif is_palindrome.is_palindrome(line): > > > print line, > > > f.close() > > > > Note that python allows you to iterate over the lines of a file with > > > > for line in f: > > ... > > > > Combining these modifications: > > > > for line in f: > > word = line.strip() > > if is_palindrome.is_palindrome(word): > > print word
Thank you a lot it worked! -- http://mail.python.org/mailman/listinfo/python-list