比较两个字符串,忽略大小写

比较两个字符串,忽略大小写,比如字符串"abc"和字符串"ABC",在忽略大小写的情况下是相等的。不能使用字符串的lower方法和upper方法

1.不让用lower和upper,可以自己写个循环把大写全部改成小写,或者循环判断两个字符串的ascii码相等或相差32
2.可以用正则表达式,用一个字符串忽略大小写去匹配另一个

有lower 和upper 为啥不用呢,
可以分别遍历两个字符串,获取每个字符的Unicode编码的十进制数,A和a的差值为32,依次类推

你这个问题就有点像,做饭的时候,你不给我任何做饭工具,马上给我炒个土豆丝出来。

如果真的要实现这个,就是自己拿手来做菜。

比如:
通过ASC码来比较,把每个字符读取出来ASC码,A 的ASC码是65,加上32,就是97 a

这样就可以判断,是不是大小写的字母a了

img

自己写个函数,都转换成小写字母比较就行了

def up(str1):
    str2 = ''
    for i in str1:
        if 'a' <= i <= 'z':
            str2 += i
        elif 'A' <= i <= 'Z':
            str2 += chr(ord(i)+32)
        else:
            print("输入的不是字母")
    return str2