On Thu, May 16, 2013 at 1:58 PM, Rafael Knuth <rafael.kn...@gmail.com> wrote: > Hej,
Hi Rafael, > I wrote a tiny little program which I was hoping would take a number as > input, square and print it: > > square = input ("Enter a number. ") > print (str(square) + " squared is " + str(square ** 2)) > > It seems I can't work with variables within the str() string method, and I > was wondering if anyone can help? > > PS. I am using Python 3.3.0 In the future, it's always very helpful to post any tracebacks you get, everything from "Traceback (most recent call last):" to the last thing printed. In this case, it seems that your problem is that in Python3, input() returns the input as a string. Python2's input() function would actually evaluate the input, which was incredibly insecure. You can fix your program by calling int() on square at the end of your print call. If I were writing this myself, I would do this, though: number = int(input("Enter a number. ")) print("{} squared is {}".format(number, number**2)) You might find the tutorial page on Input and Output[1] instructive, particularly about the format method I used above. Hope this helps, Zach [1] http://docs.python.org/3/tutorial/inputoutput.html > > Thank you in advance! > > Rafael > > > > > _______________________________________________ > Tutor maillist - Tutor@python.org > To unsubscribe or change subscription options: > http://mail.python.org/mailman/listinfo/tutor > _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor