most people here are using things not thaught in the book such as join, join should not be used to solve this question. Here is the ultimateThe answer for itcould be:
spam = ['a', 'e', 'i', 'o', 'u']
if len(spam) == 1:
print(spam[0])
else:
for i in range(len(spam)-1):
print(spam[i], end=', ')
print('and', spam[-1])
if your list is always >1 you can skip the if/else statement