python统计字符个数

已知变量 s="学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?",编程统计并输出字符串 s 中汉字和标点符号的个数。

例:
s = "学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?"
n = 0 # 汉字个数
m = 0 # 标点符号个数

# 在这里补充代码,可以多行

print("字符数为{},标点符号数为{}。".format(n, m))

s = "学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?"
n = 0
m = 0
for ch in s:
        if '\u4e00' <= ch <= '\u9fef': n += 1
m = len(s) - n
print("字符数为{},标点符号数为{}。".format(n, m))

#字符数为30,标点符号数为6。

参考代码
s = "学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?"
n = 0 # 汉字个数
m = 0 # 标点符号个数
m = s.count(',') + s.count('?')
n = len(s) – m
print("字符数为{},标点符号数为{}。".format(n, m))