鱼C论坛

 找回密码
 立即注册
查看: 899|回复: 6

[已解决]for 循环求助

[复制链接]
发表于 2017-12-19 15:01:57 | 显示全部楼层 |阅读模式

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

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

x

请问一下,为什么下面的语句报错 :

              for  i  in  5 :
                     print(i)

而 下面的可以
              for  i  in  '5' :
                     print(i)


按我的理解,下面的语句是打印字符:5, 上面的是打印数字:5  啊  。   麻烦高手解惑   ,谢谢


              
最佳答案
2017-12-19 15:06:47
5是一个int类型的变量,不属于可迭代对象
for循环中的in后面必须跟一个可以迭代的对象,比如列表,字符串,元祖等
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-12-19 15:06:47 | 显示全部楼层    本楼为最佳答案   
5是一个int类型的变量,不属于可迭代对象
for循环中的in后面必须跟一个可以迭代的对象,比如列表,字符串,元祖等
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-12-19 15:39:18 | 显示全部楼层
上面的 5 是个 int 类型的数字,不可迭代。
下面的 "5" 是个字符串,可以迭代。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-19 22:27:14 From FishC Mobile | 显示全部楼层
in 是成员操作运算符 后面的操作数需要能够被迭代 而普通数字没有子成员 字符串'5'可以看做是由一个字符成员组成的字符数组
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-19 22:32:18 | 显示全部楼层
你用5看不出来区别,如果你把‘5’换成‘55’或者'555.....5555'就能看出两者的区别了
for  i  in '55':
    print(i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-19 22:48:09 | 显示全部楼层
int不能直接用在for里,通常使用range(5)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-19 23:36:34 From FishC Mobile | 显示全部楼层
打印5的话直接打印就行了,for i in后面的对象需要是一个可迭代对象
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 19:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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