逗号代码

题目

假定有下面这样的列表:

spam = ['apples', 'bananas', 'tofu', 'cats']

编写一个函数,它以一个列表值作为参数,返回一个字符串。该字符串包含所有表项,表项之间以逗号和空格分隔,并在最后一个表项之前插入and。例如,将前面的spam 列表传递给函数,将返回'apples, bananas, tofu, and cats'。但你的函数应该能够处理传递给它的任何列表。

组长的建议:因为是列表这章的习题,所以要尽量使用列表的知识去解决问题,这样才能达到学习的目的。

组长的思路:

1.先将and加入列表

2.在将逗号和空格加入,形成一个字符串

3.使用strip方法和rstrip方法去掉多余的空格和逗号

代码

list= ['apples', 'bananas', 'tofu', 'cats']

list.insert(len(list)-1,'and')

value=''

for i in list:

     value=value+i+', '

result=value.strip().rstrip(',')

print(result)

小知识点:strip函数、lstrip函数和rstrip函数

声明:s为字符串,rm为要删除的字符序列

s.strip(rm)        删除s字符串中开头、结尾处,位于 rm删除序列的字符

s.lstrip(rm)       删除s字符串中开头处,位于 rm删除序列的字符

s.rstrip(rm)      删除s字符串中结尾处,位于 rm删除序列的字符

注意:

1. 当rm为空时,默认删除空白符(包括'\n', '\r',  '\t',  ' ')

 2.这里的rm删除序列是只要边(开头或结尾)上的字符在删除序列内,就删除掉,不看顺序。



个人思路

通过字符串连接,将列表的表项连接到同一个字符串上。

逻辑

如果列表下标不是最后一个,则格式为列表表项加逗号和空格

否则为and加最后一个表项

程序

def string(list):

        s=''

        for i in range(len(list)):

               if i!=len(list)-1:

                        s=s+str(list[i])+', '

               else:

                        s=s+'and '+str(list[i])

                        print(s)

def addList(List):

             a = input()

             if a == '0':

                     print(List)

            else:

                      List.append(a)

                     addList(List)

               return List

q=addList([])

string(q)

运行结果


逗号代码_第1张图片

你可能感兴趣的:(逗号代码)