鱼C论坛

 找回密码
 立即注册
查看: 2246|回复: 12

[已解决]关于for循环

[复制链接]
发表于 2017-5-17 00:12:38 From FishC Mobile | 显示全部楼层 |阅读模式

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

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

x
请教一下各位,这一讲课中小甲鱼老师前面:print(each,len(member))为什么打出来的长度都是5  而改成:print(each,len(each))就正常了呢?:

第二个问题for循环中:“ for目标in表达式”是不是“目标”没什么用啊 我看前面没有出现过i也不用赋值, 随便打一个字就可以 each也可以 不知道填这个地方干嘛用捏
最佳答案
2017-5-20 00:41:12
小小0405 发表于 2017-5-19 08:10
member不是六个字母吗为什么长度是5?

member是‘小甲鱼’,‘小布丁’,‘黑夜’,‘迷途’,‘怡静’这5个字符串
             不是   [member] 这6个字母

我刚开始是和你一样  就是一头雾水
Screenshot_2017-05-16-16-04-30.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-5-17 08:07:58 | 显示全部楼层
len( )这个函数是返回对象长度


for i in each  的意思是  i  在  each 里面 就迭代出来 反正我是这样理解的
for i in range(1,5) 相当于   for i in [1, 2, 3, 4]   
这就像把序列中的每一个对象分配给 i ,一次一个。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-17 10:22:26 | 显示全部楼层
1.print(each,len(member)中显示的5,是membe列表中元素的个数,每次打印member中的一个元素时,都会跟着打印member中的个数,所以说都显示是5.
下面换成len(ecah),这时显示的是你当前打印元素的长度,所以说不一样。
2.for目标in表达式,目标只是一个相当于标记的作用,你下面语句肯定要用到,所以一般没有特定的字符,(刚学不久,自己理解的仅供参考)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-5-17 10:53:27 | 显示全部楼层
member的长度是5,输出的不会变,each是你循环的字符串,输出的是对应字符串的长度
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-17 20:10:46 | 显示全部楼层
本帖最后由 yongxi 于 2017-5-17 20:12 编辑

一:
len(member)   表示: 返回字符串member的长度  所以是5
len(each)         表设:返回字符串each的长度 each是可变的,分别为menber中每一个元素 所以长度不同

二:
for xx in xx  或者 for xx not in xx 这是语法规定的  
楼主例子中for each in member意义为: 用each表示迭代类型对象(member)每一个返回值
既然有 for in 的循环 那么肯定是要利用每一次迭代的返回值做一些事情。既然要利用,那么必须要给返回值一个变量名 ,不然你如何调用?所以变量名可以是in  也可以是each   想取什么取什么。

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-19 08:10:07 | 显示全部楼层
就是啥也不会 发表于 2017-5-17 10:22
1.print(each,len(member)中显示的5,是membe列表中元素的个数,每次打印member中的一个元素时,都会跟着打 ...

member不是六个字母吗为什么长度是5?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-19 08:10:35 | 显示全部楼层
yongxi 发表于 2017-5-17 20:10
一:
len(member)   表示: 返回字符串member的长度  所以是5
len(each)         表设:返回字符串each的 ...

member不是六个字母吗为什么长度是5?我起初也这么认为,可是数了一下,也不对啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-19 11:37:48 | 显示全部楼层
print(each,len(member)), 是mumber这个list里面的元素个数。
print(each,len(each)), 是每个元素的长度。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-20 00:41:12 | 显示全部楼层    本楼为最佳答案   
小小0405 发表于 2017-5-19 08:10
member不是六个字母吗为什么长度是5?

member是‘小甲鱼’,‘小布丁’,‘黑夜’,‘迷途’,‘怡静’这5个字符串
             不是   [member] 这6个字母

我刚开始是和你一样  就是一头雾水
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-20 15:18:52 From FishC Mobile | 显示全部楼层
7728821314502 发表于 2017-5-20 00:41
member是‘小甲鱼’,‘小布丁’,‘黑夜’,‘迷途’,‘怡静’这5个字符串
             不是   [memb ...

哦哦!哈哈 这样啊!懂了 一语点醒梦中人谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-20 17:39:37 | 显示全部楼层
小小0405 发表于 2017-5-19 08:10
member不是六个字母吗为什么长度是5?我起初也这么认为,可是数了一下,也不对啊

member 已经被定义成了一个变量名字。 其表示的是列表~
列表有5个元素  所以是5
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-22 10:59:42 | 显示全部楼层
小小0405 发表于 2017-5-19 08:10
member不是六个字母吗为什么长度是5?

这个长度不是member字符的长度,而是member这个列表里元素的个数。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-27 14:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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