Python列表和for循环.我如何与for循环沟通,我打算在后续项目上工作,而不仅仅是第一个项目?

cin*_*nch 1 python for-loop list

我是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]
Run Code Online (Sandbox Code Playgroud)

`

它适用于大多数情况.但是,当我传递一个字符串时Abcda.在这种情况下,它无法返回预期的输出A-Bb-Ccc-Dddd-Aaaaa.我该如何解决这个问题?感谢您抽出宝贵时间来回答这个问题.

Sun*_*tha 7

你可以使用列表理解和更简单的方式来做到这一点 enumerate

>>> s = 'abcd'
>>> '-'.join([c.upper() + c.lower()*i for i,c in enumerate(s)])
'A-Bb-Ccc-Dddd'
Run Code Online (Sandbox Code Playgroud)