作文新手小白的第一篇个人博客,还是得纪念一下哒,日常分享一些自己初学的一些想法和笔记,或者自己的想法。现在正在用课余时间学习Python,菜鸟练级之路漫漫无期…会更新一些在学Python过程中遇到的小问题解决想法。
目前在看的书是《Python编程快速上手》
假定有下面这样的列表:
spam = [‘apples’, ‘bananas’, ‘tofu’, ‘cats’] |
---|
编写一个函数,它以一个列表值作为参数,返回一个字符串。该字符串包含所
有表项,表项之间以逗号和空格分隔,并在最后一个表项之前插入 and。例如,将前面的 spam 列表传递给函数,将返回’apples, bananas, tofu, and cats’。但你的函数应该能够处理传递给它的任何列表。
在编程过程中,因为是在列表这一章,所以在看到这个项目之后第一反应是利用列表的知识去设计,因为我也是一个菜鸟,所以想法很简单:
既然列表是可以改变的,而不像字符串那样可以随意修改,那么先进行添加操作,在每一个列表元素前加‘ , ’和在最后一个元素前加‘ and ’;在添加操作后将列表转换为字符串打印出来。
算法设计:
1.for循环在每个列表下标对应元素,添加’ , ’ ; 在最后一个元素前insert(length-1,'and ')
2.通过join
函数将列表转化生成新的字符串打印显示
代码如下:
def change(info):
length = len(info)
#test = []
for i in range(length-1):
info[i] = info[i] + ', '
info.insert(length-1,'and ')
test = ''.join(info)
return test
spam = ['apples', 'bananas', 'tofu', 'cats']
s = change(spam)
print(s)
在上网查询之后,发现还有另一种方法,分享一下
def comma(spam):
_str = ''
for i in range(len(spam) - 1):
_str = _str + spam[i] + ', '
_str = _str + 'and '
_str = _str + spam[len(spam) - 1]
return _str
spam = ['apples', 'bananas', 'tofu', 'cats']
print(comma(spam))
这算是本人第一次写博客,技术不足,正在学习。ヾ(◍°∇°◍)ノ゙