鱼C论坛

 找回密码
 立即注册
查看: 1385|回复: 4

[已解决]第十九课 请大师帮我纠正我的注释 和 我的不理解的地方

[复制链接]
发表于 2018-2-11 17:12:24 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 屁哥 于 2018-2-11 17:23 编辑
  1. def count(*param):
  2.     length = len(param)  # 计算 param 这个回收参数里面有多少个参数
  3.     for i in range(length):  #for 循环  length 等于几 i 就调用几次(for 就循环几次)
  4.         letters = 0   # 字符串中英文字符初始化是 0 个
  5.         space = 0     # 字符串中空字符个数初始化是 0 个
  6.         digit = 0     # 字符串中数字的个数初始化是 0 个
  7.         others = 0    # 字符串中其他字符的个数初始化是 0 个
  8.         
  9.         for each in param[i]:  # for 的嵌套循环 从param 的第 0个参数开始计算 也就是 上面for 循环的第0个参数 == 第0个 i// each 从i 中逐个获取字符 让下面的 if(工人) 进行计算
  10.             if each.isalpha():  # 如果 each是 英文字符 那么下面 letters +1 如果不是英文字符,下一个 elif(下一个工人) 计算
  11.                 letters += 1
  12.             elif each.isdigit(): # 如果 each 是数字 那么 degit + 1 如果不是 下面  elif继续计算
  13.                 digit += 1
  14.             elif each == ' ':  # 如果 each 是空字符 那么 space + 1 ,如果不是 那么既不是 英文字母 也不是数字 更不是 空字符 那就都给 其他吧(others)
  15.                 space += 1
  16.             else:
  17.                 others += 1  # 以上都不是  那么 其他 +1 others +1 /// 然后继续循环 知道 each 把 i 吸干了(没字符了),再返回第一个 for 继续 用i 吸干 lenth 里面的其他参数
  18.         print('第 %d 个字符串共有:英文字母 %d 个,数字 %d 个,空格 %d 个,其他字符 %d 个。' % (i+1, letters, digit, space, others))
  19.             
  20. count('I love fishc.com.', 'I love you, you love me.') # 这个是输入再 count 函数中的的两个参数  中间用逗号隔开了

  21. #这里表示有不理解  这句 for i in range(length)  这个 length 他不是数字么 1(因为count 只有两个参数  0,1) 那么 for i in range(1) 为什么 i ==  第一个参数 不是应该等于 int 整形么? 为什么是 str 字符串类型了呢?
复制代码


#这里表示有不理解  这句 for i in range(length)  这个 length 他不是数字么 1(因为count 只有两个参数  0,1) 那么 for i in range(1) 为什么 i ==  第一个参数 不是应该等于 int 整形么? 为什么是 str 字符串类型了呢?

顺便帮忙指正一下  注释哪里有问题  谢谢
最佳答案
2018-2-11 17:37:29
没看太懂,,
range里面放数字整形,那个i也是数字整形。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-2-11 17:37:29 | 显示全部楼层    本楼为最佳答案   
没看太懂,,
range里面放数字整形,那个i也是数字整形。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-11 18:58:11 | 显示全部楼层
新手·ing 发表于 2018-2-11 17:37
没看太懂,,
range里面放数字整形,那个i也是数字整形。

我知道  range 里面放的是整形
i  从整形里面获取来的 也是整形
我纠结的是 i  获取来的是 函数里面的参数  这个怎么来的
length = len(param)  如果传入两个参数("I love ","hello world") 那么 length = 2
for i in range(length):  这个循环以后
第一次获取 i = 0  i 是怎么等于 I love 的 ?
第二次获取  i = 1  i 是怎么等于  Hello world ?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-11 19:01:02 | 显示全部楼层
新手·ing 发表于 2018-2-11 17:37
没看太懂,,
range里面放数字整形,那个i也是数字整形。


for each in param:
这句  吃完饭居然看了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-11 19:51:52 | 显示全部楼层
屁哥 发表于 2018-2-11 18:58
我知道  range 里面放的是整形
i  从整形里面获取来的 也是整形
我纠结的是 i  获取来的是 函数里面的 ...

你去百度下回着看甲鱼老师的切片课程,
param[0]就可以获取param的第一个值,
param[1]就可以获取param的第二个值。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 07:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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