|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
def count(*param):
length = len(param)
for i in range(length):
letters = 0
space = 0
digit = 0
others = 0
for each in param[i]:
if each.isalpha():
letters += 1
elif each.isdigit():
digit += 1
elif each == ' ':
space += 1
else:
others += 1
print('第 %d 个字符串共有:英文字母 %d 个,数字 %d 个,空格 %d 个,其他字符 %d 个。' % (i+1, letters, digit, space, others))
count('I love fishc.com.', 'I love you, you love me.')
这段代码从第二行开始就看不懂了,各位鱼油可以简单给个注释帮助理解吗?还有最后print的内容,后面的% (i+1, letters, digit, space, others)是什么意思呢?请教了!
这是一个用于统计字符的程序,统计count函数中每个参数字符串所含各类字符的个数。
程序第二行的意思是计算传入函数的参数个数,返回给length。
print语句的意思是依次输出i+1、letters、digit、space和others的值,填入前面的格式化字符串,即:“第 i+1 个字符串共有:英文字母 letters 个,数字 digit 个,空格 space 个,其他字符 others 个。”
程序的详细注释见下:
- def count(*param):
- length = len(param) # 计算传入函数的参数个数,返回给length
- for i in range(length): # 对于传入函数的每个参数(字符串)
- letters = 0 # 统计英文字母数letters,初始化为0
- space = 0 # 统计空格数space,初始化为0
- digit = 0 # 统计数字数digit,初始化为0
- others = 0 # 统计其他字符数digit,初始化为0
- for each in param[i]: # 取出字符串中的每个字符
- if each.isalpha(): # 如果该字符是英文字母
- letters += 1 # 英文字母数letters加1
- elif each.isdigit(): # 如果该字符是数字
- digit += 1 # 数字数digit加1
- elif each == ' ': # 如果该字符是空格
- space += 1 # 空格数space加1
- else: # 如果该字符是其他字符
- others += 1 # 其他字符数others加1
- # 依次输出每个字符串的统计结果:第 i+1 个字符串共有:英文字母 letters 个,数字 digit 个,空格 space 个,其他字符 others 个。
- print('第 %d 个字符串共有:英文字母 %d 个,数字 %d 个,空格 %d 个,其他字符 %d 个。' % (i+1, letters, digit, space, others))
-
- count('I love fishc.com.', 'I love you, you love me.') # 调用函数,输出结果
复制代码
|
|