caroline metcalf wrote: > Hi there > > I am having an issue. This code normally works fine > > Code: > veg="carrots" > print("Mashed ",veg," on the ceiling.") > print("Green beans on the floor.") > print("Stewed tomatoes in the corner.") > print("Squash upon the door.") > > But, I am getting this. Result: > ('Mashed ', 'carrots', ' on the ceiling.') > Green beans on the floor. > Stewed tomatoes in the corner. > Squash upon the door. >>>> > > I have tried semi-colons instead of commas as Spain uses these often > but... > I don't know what else to try. Any ideas please?
The code you show is written for Python 3 where print() is a function, but you run it under Python 2 where print was a statement and the line > print("Mashed ",veg," on the ceiling.") tells Python to print the tuple ("Mashed ",veg," on the ceiling.") instead of invoking the print() function. As a fix I recommend that you ensure that you use a Python 3 interpreter. Your other options are: 1. Remove the parens: print "Mashed ",veg," on the ceiling." # python 2 only 2. Add from __future__ import print_function # make print() available in py2 3 Use string formatting: print("Mashed {} on the ceiling.".format(veg)) Parens around a single value are ignored, so here print works both as a statement and as a function. _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor