有的时候需要判断出两个字母是否是大小写,其中有一种方法是使用异或运算判断出两个字母是否是大小写,可以根据具体的例子理解会更好一点,例如c1 = "a",c2 = "A",对应的ascii值分别是97,65,两个数字对应的二进制字符串为:
0b1100001
0b1000001
异或之后得到的结果为十进制数字对应的32,而且因为每一个互为大小写的字母对应的ascii码的差值都是等于32的,所以我们可以对两个字母的ascii码进行异或操作如果异或的结果等于32那么说明是互为大小写的
if __name__ == '__main__':
c1, c2 = "a", "A"
# 使用异或运算看结果是否是32来判断两个字母是否互为大小写, 使用ord函数获取当前字符的ascii值
res = ord(c1) ^ ord(c2) == 32
print(res)