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值;