Skip to main content
 首页 » 编程设计

Python 列表和 for 循环。我如何与我打算处理后续项目而不是第一个项目的 for 循环通信

2025年05月04日11over140

我是 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'