import sys
class case_selector(Exception):
def __init__(self, value): # overridden to ensure we've got a value argument
Exception.__init__(self, value)
def switch(variable):
raise case_selector(variable)
def case(value):
exclass, exobj, tb = sys.exc_info()
if exclass is case_selector and exobj.args[0] == value: return exclass
return None
def multicase(*values):
exclass, exobj, tb = sys.exc_info()
if exclass is case_selector and exobj.args[0] in values: return exclass
return None
if __name__ == '__main__':
print
def InputNumber():
while 1:
try:
s = raw_input('Enter an integer')
except KeyboardInterrupt:
sys.exit()
try:
n = int(s)
except ValueError, msg:
print msg
else:
return n
while 1:
n = InputNumber()
try:
switch(n)
except ( case(1), case(2), case(3) ):
print "You entered a number between 1 and 3"
except case(4):
print "You entered 4"
except case(5):
print "You entered 5"
except multicase(6, 7, 8, 9):
print "You entered a number between 6 and 9"
except:
print "Youe entered a number less then 1 or grater then 9"