本文主要是介绍《python编程快速上手——让繁琐工作自动化》实践项目——逗号代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:
假定有下面这样的列表:
spam = ['apples', 'bananas', 'tofu', 'cats']
编写一个函数,它以一个列表值作为参数,返回一个字符串。该字符串包含所有表项,表项之间以逗号和空格分隔,并在最后一个表项之前插入 and。例如,将前面的 spam 列表传递给函数,将返回
'apples, bananas, tofu, and cats'
但你的函数应该能够处理传递给它的任何列表。
个人思路:使用insert方法插入’and’,将最后两个元素与其它元素分开处理。
def solution(l):s = ''l.insert(-1, 'and')for i in range(len(l)-2):l[i] = l[i] + ', 's = s + l[i]l[-2] = l[-2] + ' 's = s + l[-2] + l[-1]return s
这里最容易出错的就是insert(位置,内容),这里我们是想在’cats’元素之前添加元素’and’,可能会出现
l.insert(-2, 'and')
这样是错误,你可以理解为insert方法占着某个元素之前的位置,在该位置之后的元素会往后移动一个序列。大家可以试一试。
完整代码:
def solution(l):s = ''l.insert(-1, 'and')for i in range(len(l)-2):l[i] = l[i] + ', 's = s + l[i]l[-2] = l[-2] + ' 's = s + l[-2] + l[-1]return sspam = ['apples', 'banans', 'tofu', 'cats']
result = solution(spam)
print(result)
如果有错误,欢迎指出。若有疑问,我会在评论区回答。
这篇关于《python编程快速上手——让繁琐工作自动化》实践项目——逗号代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!