huangdongdong 发表于 2021-2-16 22:37:58

19讲

1 def count(*param):
2   length = len(param)
3    for i in range(length):
4       letters = 0
5       space = 0
6       digit = 0
7       others = 0
8      for each in param:
9            if each.isalpha():
10               letters += 1
11         elif each.isdigit():
12                digit += 1
13            elif each == ' ':
14               space += 1
15         else:
16               others += 1
17       print('第 %d 个字符串共有:英文字母 %d 个,数字 %d 个,空格 %d 个,其他字符 %d 个。' % (i+1, letters, digit, space, others))
            
18 count('I love fishc.com.', 'I love you, you love me.')
第2.3.9行和第17行中%(i+1, letters, digit, space, others)分别是什么意思

atai0622 发表于 2021-2-16 22:37:59

def count(*param):
   length = len(param)   # 统计输入的参数个数
    for i in range(length):    # 开始循环,循环次数为输入参数的个数
       letters = 0               #字母个数统计初始化为0
       space = 0               #空格个数统计初始化为0
       digit = 0                #数字个数统计初始化为0
       others = 0               #其他字符个数统计初始化为0
      for each in param:       #逐个字符进行判断
            if each.isalpha():          #判断是否为字母
               letters += 1             #如果是字母,则字母个数自加1
         elif each.isdigit():         #判断是否为数字
                digit += 1            #如果是数字,则字母个数自加1
            elif each == ' ':         #判断是否为空格
               space += 1               #如果是空格,则字母个数自加1
         else:
               others += 1            #以上类型都不是,则其他字符个数自加1
       print('第 %d 个字符串共有:英文字母 %d 个,数字 %d 个,空格 %d 个,其他字符 %d 个。' % (i+1, letters, digit, space, others))   #输出统计结果。因为循环结束的时候,i的值为range(length)的最后指针位置,所以总个数为i+1

黎明zxc 发表于 2021-2-16 23:15:25

统计各种字符,如space统计空格的个数。
页: [1]
查看完整版本: 19讲