练习题目:
假定有下面这样的列表:
spam = [‘apples’, ‘bananas’, ‘tofu’, ‘cats’]
编写一个函数,它以一个列表值作为参数,返回一个字符串。该字符串包含所
有表项,表项之间以逗号和空格分隔,并在最后一个表项之前插入 and。例如,将
前面的 spam 列表传递给函数,将返回’apples, bananas, tofu, and cats’。但你的函数应
该能够处理传递给它的任何列表。
思路:
1, 直接使用insert()功能把and字符串插入到列表中,然后直接使用循环打印即可 该方法不太合适,毕竟会对原列表产生修改。
2,直接提取列表元素打印即可,不对列表进行修改。由于牵扯到打印格式问题,需要单独对最后一个元素进行打印处理。
# 编写函数的时候考虑到了如果列表只有一个元素的话,该怎么处理。
def func(words):
a = words[0]
if len(words) > 1:
for i in range(1, len(words)-1):
a = a + ', ' + words[i]
a = a + ', and ' + words[len(words)-1]
print (a)
spam = ['apples', 'banana', 'bird', 'tree', 'cat']
func(spam)