计算字符串中的韩文字符数

Cha*_*Kim -1 python unicode python-3.x

我希望能够计算输入中有多少韩文字母,就像我处理英文字母和数字一样:

a=0
b=0
c=0
d=0
e=0

num = input("type something ")

for i in num:
    if(i.isupper()):
        a=a+1
    elif(i.islower()):
        b=b+1
    elif(i.isdigit()):
        c=c+1


print("uppercase letters: ",a)
print("lowercase letters: ",b)
print("numbers: ",c)
print("korean letters: ",d)
Run Code Online (Sandbox Code Playgroud)

但我不知道该怎么做,我是否必须以ord()某种方式合并?

Mar*_*ers 5

如果您询问如何计算Hangul 代码点,您需要采取ord()字符的值并查看它是否在任何记录的范围内:

\n\n
hangul_ranges = (\n    range(0xAC00, 0xD7A4),  # Hangul Syllables (AC00\xe2\x80\x93D7A3)\n    range(0x1100, 0x1200),  # Hangul Jamo (1100\xe2\x80\x9311FF)\n    range(0x3130, 0x3190),  # Hangul Compatibility Jamo (3130-318F)\n    range(0xA960, 0xA980),  # Hangul Jamo Extended-A (A960-A97F)\n    range(0xD7B0, 0xD800),  # Hangul Jamo Extended-B (D7B0-D7FF)\n)\nis_hangul = lambda c: any(ord(c) in r for r in hangul_ranges)\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后使用is_hangul(i).

\n\n

事实上,没有任何韩文字符被认为是大写、小写或数字,但要考虑到这三个类别不仅仅包含英语;Unicode 8.0 标准具有:

\n\n\n