为了账号安全,请及时绑定邮箱和手机立即绑定

for循环应该每次都会全部迭代完才对,为什么f1()的结果一定是输出的是i=1的结果呢

http://img1.sycdn.imooc.com//5dc923ca0001b5e307950702.jpg

每次都打印了一下i的值,为什么f1()的结果i=1而不是最后的迭代结果=3呢?for循环应该每次都会全部迭代完才对呀?

正在回答

3 回答

115的代码def f(j) + 120的代码r = f( i ),加起来的作用等同于f( j = i),for循环是由1→2→3的过程,当i = 1的时候,j就变为1,进而得出一个值。然后当i = 2,然后.......

如果是没有j这个变量的话,i就会一直for循环,直到为3,所以就只有3这个数得出的值
个人理解是这样的

0 回复 有任何疑惑可以回复我~
0 回复 有任何疑惑可以回复我~

g所引用的变量j不是循环变量,你在调用r=f(i)时,返回的就是1*1,2*2,3*3,count()函数接受的是一个列表【1,4,9】,

f1,f2,f3 = count()#返回多个值时,可以用多个变量接收,这里的f1只是对应的列表索引0


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

for循环应该每次都会全部迭代完才对,为什么f1()的结果一定是输出的是i=1的结果呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信