第19讲课后题最后一题关于‘i’的取值
def count(*param):length = len(param) <======这里length=2
for i in range(length): <======这里i=0i=1
letters = 0
space = 0
digit = 0
others = 0
for each in param: <======那这里i不就只有0,和1 两个值。怎么会把字符串检索到最后呢?为什么这里会从param一直到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.')
前半个的理解很不错
你的第三个箭头,也就是内层for这里,第一句理解是对的,第二句估计是你想偏了,i=0和1,param='I love fishc.com.', param='I love you, you love me.'
当i=0 的时候,each遍历的是第一个字符串,each逐个取出字符串 'I love fishc.com.' 中的字符,进行字符类别判断
当i=1 的时候,each遍历的是第二个字符串,each逐个取出字符串'I love you, you love me.' 中的字符,进行字符类别判断
字符串本身就是可遍历对象,不需要使用下标去遍历,内层循环中each就是字符串内的字符,所以没有你想的 i=len(str) sunrise085 发表于 2020-11-4 14:32
前半个的理解很不错
你的第三个箭头,也就是内层for这里,第一句理解是对的,第二句估计是你想偏了,i=0和 ...
感谢解答!{:10_275:}
页:
[1]