一、思路
1、myToUpper(s)函数就是转大写字母的函数
2、ord("A") = 65, chr的作用是把 ord("A") = 65=A,也就是得出不是数值,而是字符,那到这里就有疑问了,为什么要转换呢?别忘了,我们要进行计算,而字符无法计算
二、代码解析
# a=97,A=65,小写大于大写32差值
# 转大写
def myToUpper(s):
t=""
for i in range(len(s)):
if "a" <= s[i] <= "z":
# -32
# t = t + chr(ord("A")+ord(s[i])-ord("a"))
t = t + chr(ord("A")-ord("a")+ord(s[i]))
else:
t = t + s[i]
return t
#转小写
def myToLower(s):
t=""
for i in range(len(s)):
if "A" <= s[i] <= "Z":
# +32
# t = t + chr(ord("a")+ord(s[i])-ord("A"))
t = t + chr(ord("a")-ord("A")+ord(s[i]))
else:
t = t+s[i]
return t
s = input("Enter a string:")
print("myToUpper:",myToUpper(s))
print("myToLower:",myToLower(s))
1、例如:s[ i ] = s[ 0 ] = d = 100
chr( ord("A")-ord("a")+ord(s[ i ]) ) = chr(65-97+100) = chr(68) = D;
2、详细可见下表
三、快捷方法
1、.upper():直接把小写字母转成大写字母
2、.lower():直接把大写字母转成小写字母
# upper(),小——大
# lower(),大——小
# 这种做法不会直接改变原来的值,只是改变单独的存储
s = input("Enter a string:")
print("myToUpper:",s.upper())
print("myToLower:",s.lower())