将名称转换为首字母

学习笔记,日后温习
问题:编写一个函数将名称转换为首字母,
输出应该是两个大写字母,并用点分隔它们。
示例如下:

Sam Harris  =>   S.H
Patrick Feency  =>  P.F
解法一

def abbrevName(name):
	#字符串首字母i[0]
	#两段字符串name.split()
    return '.'.join([i[0] for i in name.split()])

name='Evan Cole'
abbrevName(name)
#输出为'E.C'
解法二:


def abbrevName(name):
    abbrs=map(lambda name:name[0].upper(),name.split())
    return '.'.join(abbrs)


assert abbrevName("Sam Harris")=="S.H"
assert abbrevName("Patrick Feenan")=="P.F"
assert abbrevName("Evan Cole")=="E.C"
assert abbrevName("P Favuzzi")=="P.F"

#upper()将小写字母改写成大写字母
#assert是断言,调试用的,结果不对抛出异常。断言没抛出异常就是测试用例通过

1、join()函数

语法: ‘sep’.join(seq)

参数说明
sep:分隔符。可以为空
seq:要连接的元素序列、字符串、元组、字典
上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串

返回值:返回一个以分隔符sep连接各个元素后生成的字符串

2.map()及lambda用法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.upper()用法
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42610407/article/details/87557354