w1993424w 发表于 2021-6-8 00:02:59

老板课后作业19

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.')
如果输入的字符串是三个那么i应该是3
那么for each in param:中的i应该是从1到三
python不是从0开始计数的吗?为什么执行没出问题呢

Twilight6 发表于 2021-6-8 10:58:57

那么for each in param[ i]:中的i应该是从1到三

for 循环遍历元素索引下标依旧 0~2,不是 1~3

range 函数的三个参数 strat 默认值为 0 、end、step 默认值为1,且不包含结束点

比如 range(5),即相当于 range(0,5,1) 生成的是的 0,1,2,3,4 这 5 个数

glf1996 发表于 2021-6-11 09:49:10

y
页: [1]
查看完整版本: 老板课后作业19