为什么是i+1,看来解释说是i默认值为0,不懂,i不是会变的吗
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.')
本帖最后由 liuzhengyuan 于 2020-5-22 15:20 编辑
因为列表索引是从 0 开始的
比如所 abcd 这个字符串
python 认为 b 是第一个字符(而不是第二个)
但是我们认为 b 是第二个字符,所以要加一(符合我们的习惯) 楼上正解 liuzhengyuan 发表于 2020-5-22 15:15
因为数组索引是从 0 开始的
比如所 abcd 这个字符串
python 认为 b 是第一个字符(而不是第二个)
懂了,我一开始以为第一个for是先把*param中一个元组拿出来循环,所以觉得不止到0和1,现在明白了,第一个for是对*param循环,所以i=0.1
页:
[1]