Use raw_input() instead, then convert to int
(catching the ValueError
if that conversion fails). You can even include a range test, and explicitly raise ValueError()
if the given choice is outside of the range of permissible values:
try:
choice = int(raw_input("Enter choice 1, 2 or 3:"))
if not (1 <= choice <= 3):
raise ValueError()
except ValueError:
print "Invalid Option, you needed to type a 1, 2 or 3...."
else:
print "Your choice is", choice