Lucia Stockdale <lucia.stockd...@mggs.vic.edu.au> writes: > I have been writing a program to print words backwards until an an > empty line of input is entered, but after I put in the input it comes > up with TypeError.
For completeness give us the whole Traceback, it makes pin-pointing the error easier. Also, tell us which Version of /python/ you are using. I assume you are using python3, because you did not get a SyntaxError in /input/ (in python2 /input/ evaluates the string as python-code). > This is my current code: > > line = input('Line: ') > while line != '': > line = line[len(line):0:-1] > line = line.split() > line = line.reverse() Reverse mutates the list /line/ and returns None, which you then assign to /line/. Returning None is a common pattern for python methods mutating the objects value and not creating a copy. > line = (' '.join(line)) Your calling of ' '.join(None) results in a TypeError here. str.join takes an iterable. > print(line) After the call to /print/ you probably want to duplicate the line line = input('Line: ') or you will end up in an infinite loop, since your program does not read another line of input and therefore the value of /line/ never changes and gets no chance to become the empty string. -- Felix Dietrich _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor