Check out the following simple code: #!/bin/python
print "1 - echo 1" print "2 - echo 2" answer = input("Enter your choice - ") if answer == 1: print "1" elif answer == 2: print "2" else: print "Invalid choice!" The else statement noted above works fine for numeric values other then 1 or 2. But if a user types in alphanumeric data (letters) into this, it blows up. Check out the following: [root@ansi ~]$ ./trash 1 - echo 1 2 - echo 2 Enter your choice - 3 Invalid choice! [root@ansi ~]$ ./trash 1 - echo 1 2 - echo 2 Enter your choice - r Traceback (most recent call last): File "./trash", line 6, in <module> answer = input("Enter your choice - ") File "<string>", line 1, in <module> NameError: name 'r' is not defined I would expect the same behavior from both runs. Why does Python differ in the way it treats a character in that program? Finally, how to accomodate for such (how to fix)? TIA -- https://mail.python.org/mailman/listinfo/python-list