我是 python 的新手,我正在研究一个函数,我希望它传递一个像 abcd 这样的字符串,它输出像 A-Bb-Ccc-Dddd。
我创建了以下内容。
`
def mumbler(s):
chars = list(s)
mumbled = []
result = []
for char in chars:
caps = char.upper()
num = chars.index(char)
low = char.lower()
mumbled.append( caps+ low*num)
for i in mumbled:
result.append(i+'-')
result = ''.join(result)
return result[:-1]
`
它适用于大多数情况。但是,当我传递一个像 Abcda 这样的字符串时。它无法返回预期的输出,在本例中为 A-Bb-Ccc-Dddd-Aaaaa。 我应该如何解决这个问题? 感谢您花时间回答这个问题。
请您参考如下方法:
您可以使用列表理解和 enumerate
>>> s = 'abcd'
>>> '-'.join([c.upper() + c.lower()*i for i,c in enumerate(s)])
'A-Bb-Ccc-Dddd'
