Python 对字符串中的韩语字符进行计数
我希望能够计算输入中有多少个韩文字母,就像我对英文字母和数字所做的那样:Python 对字符串中的韩语字符进行计数,python,python-3.x,unicode,Python,Python 3.x,Unicode,我希望能够计算输入中有多少个韩文字母,就像我对英文字母和数字所做的那样: 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) prin
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)
但是我不知道该怎么做,我是否必须以某种方式合并
ord()
?如果你问如何计数,你需要取字符的ord()
值,看看它是否在任何记录的范围内:
hangul_ranges = (
range(0xAC00, 0xD7A4), # Hangul Syllables (AC00–D7A3)
range(0x1100, 0x1200), # Hangul Jamo (1100–11FF)
range(0x3130, 0x3190), # Hangul Compatibility Jamo (3130-318F)
range(0xA960, 0xA980), # Hangul Jamo Extended-A (A960-A97F)
range(0xD7B0, 0xD800), # Hangul Jamo Extended-B (D7B0-D7FF)
)
is_hangul = lambda c: any(ord(c) in r for r in hangul_ranges)
然后使用是韩语(i)
碰巧的是,没有一个韩语字符被认为是大写、小写或数字,但考虑到这三个类别所包含的远远不止是英语;Unicode 8.0标准有:
- ,
- ,
- 和
a
、b
、c
和d
。将来你会感谢你的。是的,很抱歉给你带来困惑。你的问题也会通过一个输入和预期输出的示例得到改进。