[Tutor] Issue with string method: str(variable ** n)
Zachary Ware
zachary.ware+pytut at gmail.com
Thu May 16 21:18:24 CEST 2013
On Thu, May 16, 2013 at 1:58 PM, Rafael Knuth <rafael.knuth at 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 at python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor
>
More information about the Tutor
mailing list