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

任务目标:

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'.

时间: 2024-08-10 07:57:09

[codewars 1] Format a string of names like 'Bart, Lisa & Maggie'.的相关文章

string.format、string.connect和+=运算 效率计算

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace StringFormatEfficiency { class Program { static void Main(string[] args) { string format = "my {0} is {1}"; string name = "name"; string zh

点滴拾遗 - 自定义 Format 控制 String.Format 行为

点击下载示例代码 String.Format 一重载方法的签名如下 1 public static string Format( 2 IFormatProvider provider, 3 string format, 4 params Object[] args 5 ) 可以通过自定义 IFormatProvider 接口来控制 String.Format 执行过程中的特定行为. 过程如下 1, 自定义类实现 IFormatProvider 接口(object GetFormat 方法) 1

C#中string.format的格式和用法

String.Format 方法的几种定义: String.Format (String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项. String.Format (String, Object[]) 将指定 String 中的格式项替换为指定数组中相应 Object 实例的值的文本等效项. String.Format (IFormatProvider, String, Object[]) 将指定 String 中的格式项替换为指定数组中

C#中string.format用法详解 [转载]

这篇文章主要介绍了C#中string.format用法,以实例形式较为详细的讲述了string.format格式化的各种用法,非常具有实用价值,需要的朋友可以参考下 本文实例总结了C#中string.format用法.分享给大家供大家参考.具体分析如下: String.Format 方法的几种定义: String.Format (String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项.String.Format (String, Obj

javascript 之string.format

function(){ 'use strict'; if(String.prototype.format) return; String.prototype.format = function(args){ var _dict = typeof(args) == 'object' ? args : arguments; return this.replace(/{([^{}]+)}/g,function(s,n){ return _dict[n]===undefined?s:_dict[n];

String.Format使用方法

1.作为參数   名称 说明   Format(String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项.   Format(String, array<>[]()[]) 将指定 String 中的格式项替换为指定数组中对应 Object 实例的值的文本等效项.   Format(IFormatProvider, String, array<>[]()[]) 将指定 String 中的格式项替换为指定数组中对应 Object

string.Format之你不知道的事

1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元) string.Format("{0:C}",0.2) 结果为:¥0.20 (英文操作系统结果:$0.20) 默认格式化小数点后面保留两位小数,如果需要保留一位或者更多,可以指定位数 string.Format("{0:C1}",23.15) 结果为:¥23.2 (截取会自动四舍五入) 格式化多个Object实例 string.Format("市场价:{0:C},优惠价{1:C

String.Format用法

1.作为参数   名称 说明   Format(String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项.   Format(String, array<>[]()[]) 将指定 String 中的格式项替换为指定数组中相应 Object 实例的值的文本等效项.   Format(IFormatProvider, String, array<>[]()[]) 将指定 String 中的格式项替换为指定数组中相应 Object

string.Format字符串格式说明

先举几个简单的应用案例: 1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元) string.Format("{0:C}",0.2) 结果为:¥0.20 (英文操作系统结果:$0.20) 默认格式化小数点后面保留两位小数,如果需要保留一位或者更多,可以指定位数 string.Format("{0:C1}",23.15) 结果为:¥23.2 (截取会自动四舍五入) 格式化多个Object实例 string.Format("市场价: