最近有判断字符串是否是中文的需求,就网上看见了一篇一万多阅读的帖子,发现其中存在一些逻辑错误。
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
相信你们已经知道为什么了吧!就是他的这个代码只是测了一下第一个字是不是汉字,但是对于后面的就不管了。所以他设计的这个代码并不能达到我们所期望的需求。