补充程序,分别输出字符串s中汉字和标点符号的个数。
s = "学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?"
n = 0 #汉字个数
m = 0 #标点符号个数
#在这里补充代码,可以多行
print("字符数为{},标点符号数为{}。".format(n, m))
方法1
s = "学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?"
#汉字个数
n = 0
#标点符号个数
m = 0
n=s.count('?')+s.count(',')
m=len(s)-n
print("字符数为{},标点符号数为{}。".format(n, m))
Python count() 方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。
方法2
s = "学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?"
#汉字个数
n = 0
#标点符号个数
m = 0
for i in s:
if '\u4e00'<=i<='\u9fff':
n=n+1
else:
m=m+1
print("字符数为{},标点符号数为{}。".format(n, m))
方法3
import string
import string
s = "学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?"
#汉字个数
n = 0
#标点符号个数
m = 0
for i in s:
if i in string.ascii_letters:
print("字母");
elif i.isdigit():
print("数字")
elif i.isalpha():
n=n+1 #字符
else:
m=m+1
print("字符数为{},标点符号数为{}。".format(n, m))