逗号代码

作者: qianyewhy | 来源:发表于2017-04-07 10:55 被阅读119次

    题目

    假定有下面这样的列表:

    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)

    运行结果

    相关文章

      网友评论

        本文标题:逗号代码

        本文链接:https://www.haomeiwen.com/subject/okthattx.html