交换字符串中的大写和小写

新手上路,请多包涵

我想将字符串的字符从小写更改为大写。

我的代码在下面,我的代码得到的输出是 a ;你能告诉我哪里错了并解释原因吗?提前致谢

test = "AltERNating"

def to_alternating_case(string):
    words = list(string)
    for word in words:
        if word.isupper() == True:
            return word.lower()
        else:
            return word.upper()

print to_alternating_case(test)

原文由 Marco Giuseppe de Pinto 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 437
2 个回答

如果要反转该字符串的大小写,请尝试以下操作:

 >>> 'AltERNating'.swapcase()
'aLTernATING'

原文由 folkol 发布,翻译遵循 CC BY-SA 4.0 许可协议

对此有两个答案:一个简单的,一个困难的。

简单的那个

Python 有一个内置函数可以做到这一点,我不记得它是什么,但大致是这样的

string.swapcase()

最难的

您定义自己的功能。你制作函数的方式是错误的,因为遍历一个字符串将逐个字母地返回它,而你只返回第一个字母而不是继续迭代。

 def to_alternating_case(string):
    temp = ""
    for character in string:
        if character.isupper() == True:
            temp += character.lower()
        else:
            temp += word.upper()
    return temp

原文由 Amit Gold 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题