> If I try to change the 1, 2, 3, 4 or 5 by a letter i.e. a, b, c, d, e the > 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, in -toplevel- > print_options() > File "C:/Python24/Example/area_cir_squ_regt.py", line 27, in print_options > 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 it. Use raw_input() instead and convert the result as you need it (using int(), float(), str(), or whatever...). Alan G. _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor