Python实现字符串大小写转换


你可能会使用字符串的 upper() 方法将字符串中的字母全部转换成大写,或使用 lower() 方法将字符串中的字母全部转换成小写;那如何将字符串中的大写转换成小写、小写转换从大写呢?本文将使用Python实现这一功能;

功能分析

将字符串中的 A-Z 转换成 a-z ,a-z 转换成 A-Z ,其它字符不变,例:

abc*DEF  => ABC*def

在ASCII码中,小写字母的值总是比大写字母的值大32,例如A是65,a是97,B是66,b是98;我们可以利用这一特性,将大写字母的ASCII值增加32得到对应的小写字母,将小写字母的ASCII值减少32得到大写字母;

实现代码

使用Python实现字符串中的大小写互相转换功能如下:


def covert(string):

    result = ""

    for char in string:
        if 'a' <= char <= 'z':
            result += chr(ord(char)-32)
        elif 'A' <= char <= 'Z':
            result += chr(ord(char)+32)
        else:
            result+= char

    return result

if __name__ == "__main__":
    string = "aaaBBBcccDDD*()098"
    print("转换前:",string)
    print("转换后:",covert(string))

程序运行效果如下:

转换前: aaaBBBcccDDD*()098
转换后: AAAbbbCCCddd*()098

程序中用到了 chr()ord() 这两个内置函数;chr() 函数用于将一个ASCII值(Integer类型)转换成字符,ord() 函数用于将字符转换成ASCII值;

如需转载,请注明出处;本文地址:https://www.perfcode.com/p/python-case-conversion.html