码迷,mamicode.com
首页 > 其他好文 > 详细

[codewars 1] Format a string of names like 'Bart, Lisa & Maggie'.

时间:2017-06-19 12:48:05      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:lis   like   code   lan   isa   returns   rate   .com   and   

任务目标:

Given: an array containing hashes of names

Return: a string formatted as a list of names separated by commas except for the last two names, which should be separated by an ampersand.

Example:

namelist([ {‘name‘: ‘Bart‘}, {‘name‘: ‘Lisa‘}, {‘name‘: ‘Maggie‘} ])
# returns ‘Bart, Lisa & Maggie‘

namelist([ {‘name‘: ‘Bart‘}, {‘name‘: ‘Lisa‘} ])
# returns ‘Bart & Lisa‘

namelist([ {‘name‘: ‘Bart‘} ])
# returns ‘Bart‘

namelist([])
# returns ‘‘

解决方案:

def namelist(names):
    str = ""
    if len(names) == 0:
        pass
    elif len(names) == 1:
        str = str + (names[0][name])
    else:
        for each in names[0:-2]:
            str = str + (each[name]) + (, )
        str = str + (names[-2][name]) + ( & ) + (names[-1][name])
    return str

codewars上的解决方案:from ezetter

def namelist(names):
    if len(names)==0: return ‘‘
    if len(names)==1: return names[0][name]
    return , .join([n[name] for n in names[:-1]]) +  &  + names[-1][name]

 

参考资料

http://www.linuxidc.com/Linux/2011-09/42950.htm

[codewars 1] Format a string of names like 'Bart, Lisa & Maggie'.

标签:lis   like   code   lan   isa   returns   rate   .com   and   

原文地址:http://www.cnblogs.com/minemine/p/7047913.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!