编写代码实现大小写转换,不用lower和upper函数
在python函数中,有这样的两个函数,分别是lower和upper,利用这两个函数可以直接实现输入语句的字符转换,现在要求不使用lower和upper函数,实现字符大小写的转换。
已知,通过字符编码可以获得各个字符所对应的序列号,代码如下:
for i in range(0,50000):
print(i,":",chr(i))
可获得0-50000的序列号对应的字符,拷贝下来,放到word文档中,通过查找可得大写英文字符的序列号为:65-90,小写英文字符的序列号为:97-122;其中,a对应的序号为97, A对应的序号为65, 经过对比我们得到:
大写字母—>小写字母:+32
小写字母—>大写字母:-32
这里我们就需要用到
ord:数字—>字符
chr:字符—>数字
整体代码如下:
# -*- coding:utf-8 -*-
if __name__ == "__main__": #主程序入口
str = input("请输入字符:") #控制台输入字符
newstr = "" #定义新的结构储存转换过的字符串
for i in range(len(str)): #用len()获取字符的长度
if ord(str[i]) in range(65,90): #验证输入的字符是否为大写
newstr = newstr + chr(ord(str[i])+32) #ord转换为数字+32,chr转换为字符
elif ord(str[i]) in range(97,122): #验证输入字符是否为小写
newstr = newstr + chr(ord(str[i]) - 32)
else:
newstr = newstr + str[i]
print(newstr)