python判断字符串是否是中文(为某位大佬纠错)

最近有判断字符串是否是中文的需求,就网上看见了一篇一万多阅读的帖子,发现其中存在一些逻辑错误。
python判断字符串是否是中文

def is_Chinese(word):#修改过的
    for ch in word:
        if '\u4e00' > ch or ch > '\u9fff':
            return False
    return True
def is_Chinese1(word):#原版
    for ch in word:
        if '\u4e00' <= ch <= '\u9fff':
            return True
    return False
print(is_Chinese("测试"))
print(is_Chinese1("测试"))

输出:

True
True

现在看起来是否并没有什么错误。可是

print(is_Chinese("测ac"))
print(is_Chinese1("测ac"))

输出:

False
True

相信你们已经知道为什么了吧!就是他的这个代码只是测了一下第一个字是不是汉字,但是对于后面的就不管了。所以他设计的这个代码并不能达到我们所期望的需求。

猜你喜欢

转载自blog.csdn.net/qq_41487299/article/details/106696233#comments_22535876