lnc0826 发表于 2016-9-27 20:30:49

第十九课,动动手小白最后一题看不懂,请多多指教!

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)是什么意思呢?请教了!

electricity-py 发表于 2016-9-27 20:33:25

length = len(param)这一句是计算传入函数的参数的个数

leade——seven 发表于 2016-9-27 21:00:12

看看

dovesun 发表于 2016-9-27 21:46:38

一起学习一下

小古比鱼 发表于 2020-12-14 11:39:06

这是一个用于统计字符的程序,统计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]
查看完整版本: 第十九课,动动手小白最后一题看不懂,请多多指教!