根据下面的表达式设计一个函数:
accum("abcd") ->"A-Bb-Ccc-Dddd"
accum("RqaEzty") ->"R-Qq-Aaa-Eeee-Zzzzz-Tttttt-Yyyyyyy"
accum("cwAt") ->"C-Ww-Aaa-Tttt"
#解法一
def accum(words):
res=[c*(index+1) for index,c in enumerate(words)]
return '-'.join(map(lambda x:x.capitalize(),res))
assert accum('abcd')=='A-Bb-Ccc-Dddd'
#方法二
#字符串拼接
def accum(x):
x1=x.lower()
s=[i[1].upper() + i[1]*i[0] for i in enumerate(x1)]
return '-'.join(s)
accum('nbbdeds')
#方法三
def accum(string):
return '-'.join(a.capitalize() for a in [i*j.lower() for i,j in enumerate(string,start=1)])
print(accum('avFDGe'))
拼接字符的常用三种方式:
第一种是加号,两个字符串用加号连接
print('这是'+'第一种'+'字符拼接方法:'+'hello python')
#输出为这是第一种字符拼接方法:hello python
第二种是格式化。这种方式用符号“%”连接一个字符串和一组变量,字符串中的特殊标记会被自动用右边变量组中的变量替换:
print('这是第二种拼接方法:' + '%s-%s' % ('hello','python'))
#输出为这是第二种拼接方法:hello-python
第三种拼接方法是join。利用字符串的函数 join ,这个函数接受一个列表,然后用字符串依次连接列表中每一个元素:
print('这是第三种方法:' + '-'.join(['Hello','python']))
#输出为这是第三种方法:Hello-python
#将序列中所有的元素合并成一个新的字符串,省去了一个一个切片
s='abcde'
print('-'.join(s))
#输出为a-b-c-d-e