Angus Rodgers wrote: > On Sat, 27 Jun 2009 11:39:28 +0100, I asked rhetorically: > >>On Fri, 26 Jun 2009 18:58:27 -0700 (PDT), powah >><wong_po...@yahoo.ca> wrote: >> >>>Thank you for your hint. >>>This is my solution: >>>f = open('test', 'r') >>>for line in f: >>> print line[0].upper()+line[1:], >> >>Will your program handle empty lines of input correctly? > > Strangely enough, it seems to do so, but why?
Because there aren't any. When you read lines from a file there will always be at least the newline character. Otherwise it would indeed fail: >>> for line in "peter\npaul\n\nmary".splitlines(): ... print line[0].upper() + line[1:] ... Peter Paul Traceback (most recent call last): File "<stdin>", line 2, in <module> IndexError: string index out of range -- http://mail.python.org/mailman/listinfo/python-list