[Tutor] Defining functions
alan.gauld at freenet.co.uk
Fri Mar 25 10:07:45 CET 2005
> If I try to change the 1, 2, 3, 4 or 5 by a letter i.e. a, b, c, d,
> programme stop functionning. I get an error message saying that
> Traceback (most recent call last):
> File "C:/Python24/Example/area_cir_squ_regt.py", line 39,
> File "C:/Python24/Example/area_cir_squ_regt.py", line 27, in
> choice = input("Choose an option: ")
> File "<string>", line 0, in -toplevel-
> NameError: name 'c' is not defined
> What am I missing? Thanks
Some quote signs...
You need to use raw_input().
input tries to evaluate what the user types, so if they type c, input
looks for a variable called c and tries to return its value. But
you don't have a variable called c.... and if you had, things would
be even more confusing!
Using input is useful occasionally but potentially dangerous because
a malicious user could type python code into your program and break
Use raw_input() instead and convert the result as you need it (using
float(), str(), or whatever...).
More information about the Tutor