第十九课,动动手小白最后一题看不懂,请多多指教!
def count(*param):length = len(param)
for i in range(length):
letters = 0
space = 0
digit = 0
others = 0
for each in param:
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)是什么意思呢?请教了! length = len(param)这一句是计算传入函数的参数的个数 看看 一起学习一下 这是一个用于统计字符的程序,统计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: # 取出字符串中的每个字符
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.')# 调用函数,输出结果
页:
[1]