信息须知:
1、ord()函数作用:以一个字符(长度为1的字符串)作为参数,返回对应的ASCII数值
2、chr()函数作用:以一个数字(应为ASCII码)作为参数,返回对应字符。
3、ASCII值:(1)A-Z:65-90 ;(2) a-z:97-122 ; (3)大小写ASCII相差32
思路分析:
一、小写转大写:
1、ord()函数取字符的ASCII值,若该值在97-122之间为小写字母
2、将该ASCII值减去32,其为该字符小写字符对应大写字符的ASCII值
3、通过chr()函数将该ASCII值转换为对应字符
4、输出
二、大写转小写(同上,逆行)
代码展示:
# python 自写函数进行大小写转换 # *1: ord()函数作用:以一个字符(长度为1的字符串)作为参数,返回对应的ASCII数值 # *2:chr()函数作用:以一个数字(应为ASCII码)作为参数,返回对应字符。 # ASCII:A-Z:65-90 ; a-z:97-122 ; 大小写ASCII相差32 a=' Python.ZhuanHuan.#&.01' print(a.upper()) #直接调用转大写函数作对照 # 注:a.upper()函数并没有改变a;此语句执行后,a仍为' Python.ZhuanHuan.#&.01' #print(a) 检验a.upper()没有改变a for i in a: if 97<= ord(i) <= 122: #小写字母符合if,执行 upper=ord(i)-32 #ASCII-32,将小写字母的ASCII值转化为大写字母ASCII值 print(chr(upper),end='') #chr(upper)返回ASCII表upper值对应的字符 else: print(i,end='') print() #换行 #---------------------------------------------------------------------------- a=' Python.ZhuanHuan.#&.01' print(a.lower()) #直接调用转小写函数作对照 for i in a: if 65<= ord(i)<= 90: #大写字母符合if,执行 low=ord(i)+32 #ASCII+32,将大写字母的ASCII值转化为小写字母ASCII值 print(chr(low),end='') #chr(low)返回ASCII表low值对应的字符 else: print(i,end='') print() #换行
输出结果:
PYTHON.ZHUANHUAN.#&.01 PYTHON.ZHUANHUAN.#&.01 python.zhuanhuan.#&.01 python.zhuanhuan.#&.01