鱼C论坛

 找回密码
 立即注册
查看: 1987|回复: 2

[已解决]第19讲课后题最后一题关于‘i’的取值

[复制链接]
发表于 2020-11-4 14:15:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def count(*param):
    length = len(param)       <======这里length=2
    for i in range(length):     <======这里  i=0  i=1
        letters = 0
        space = 0
        digit = 0
        others = 0
        for each in param[i]:      <======那这里i不就只有0,和1 两个值。怎么会把字符串检索到最后呢?为什么这里会从param[i=0]一直到param[i=len(str)]
            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.')

最佳答案
2020-11-4 14:32:25
前半个的理解很不错
你的第三个箭头,也就是内层for这里,第一句理解是对的,第二句估计是你想偏了,i=0和1,param[0]='I love fishc.com.', param[1]='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)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-4 14:32:25 | 显示全部楼层    本楼为最佳答案   
前半个的理解很不错
你的第三个箭头,也就是内层for这里,第一句理解是对的,第二句估计是你想偏了,i=0和1,param[0]='I love fishc.com.', param[1]='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)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-4 14:57:24 | 显示全部楼层
sunrise085 发表于 2020-11-4 14:32
前半个的理解很不错
你的第三个箭头,也就是内层for这里,第一句理解是对的,第二句估计是你想偏了,i=0和 ...

感谢解答!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-18 00:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表