You could convert your list to a dict with enumerate(sequence, start=1):
dict(enumerate(['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'], 1))
# {1: 'Sunday', 2: 'Monday', 3: 'Tuesday', 4: 'Wednesday', 5: 'Thursday', 6: 'Friday', 7: 'Saturday'}
Then, your query is a easy as dict.get():
wdays = {1: 'Sunday', 2: 'Monday', 3: 'Tuesday', 4: 'Wednesday', 5: 'Thursday', 6: 'Friday', 7: 'Saturday'}
def word(num):
return wdays.get(num, 'Error')
Here's an example:
>>> word(3)
'Tuesday'
>>> word(10)
'Error'
>>> word('garbage')
'Error'
Depending on what you want to do with the string, it might not be a good idea to return 'Error' instead of simply throwing an Error. Otherwise, you'll have to check if the string looks like a week-day or is equal to 'Error' every time you use this function.
numcoming from? If it's a bad input, it might be a good idea to throw an exception.