On Wed, Jan 4, 2012 at 9:36 AM, Alan Gauld <alan.ga...@btinternet.com> wrote: > On 04/01/12 14:13, David Palao wrote: >> >> Hi, >> some hints: >> 1) strings are iterables > > > And so are files.... ;-) > >> 2) help(zip) >> 3) help(enumerate) > > >> Write a program that compare the two files given by users. If the >> two files' content is equal, just print "equal". Else, print the >> rows And column number of the first different position. > > > In pseudocode you could do: > > f1 = open(file1) > f2 = open(file2) > lineNum = 1 > while True: > line = f1.readline() # I would change next line to this: line2 = f2.readline() # this to have a name for each line for below if line != line2: > if line != f2.readline(): > print lineNum, " : ", line
# in here I believe you need a bit more. You now know the lines are not equal, but the exercise requires the line number and column number where the two lines differ # To do that, you need to do something similar to what Alan has shown for i, c in enumerate(line): #enumerate iterates over the characters in line, and returns the index and the character if line2[i] != c: # line2[i] is the character in the same position on the line as c from line print "The file differs at line %d, column %d" % lineNum, i > exit > else: > lineNum += 1 > print "equal" > > > But there other approaches you could use. > > -- > Alan G > Author of the Learn to Program web site > http://www.alan-g.me.uk/ > > > _______________________________________________ > Tutor maillist - Tutor@python.org > To unsubscribe or change subscription options: > http://mail.python.org/mailman/listinfo/tutor -- Joel Goldstick _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor