您的解决方案非常好。但是,您不需要三个分支,因为
str.upper()在upper不适用时将返回str。
使用生成器表达式,可以将其简化为:
>>> name = 'Mr.Ed'>>> ''.join(c.lower() if c.isupper() else c.upper() for c in name)'mR.eD'

您的解决方案非常好。但是,您不需要三个分支,因为
str.upper()在upper不适用时将返回str。
使用生成器表达式,可以将其简化为:
>>> name = 'Mr.Ed'>>> ''.join(c.lower() if c.isupper() else c.upper() for c in name)'mR.eD'