for i in [0,1,2]: i=i+1 print(i)这段代码我在jupyter Notebook里面可以运行,在Spyder中运行报错,哪位知道为啥啊
1 回答
慕妹3242003
TA贡献1824条经验 获得超6个赞
f()中的i是static,静态局部变量,所以每次调用函数之后f()中的i并不被销毁,所以当main函数中的for循环第一次循环时,f()中的i=1,f()=s=1;第二次时f()中的i=2,f()=s=2;第三次时f()中的i=3,f()=s=3;第四次时f()中的i=4,f()=s=4;第五次时f()中的i=5,f()=s=5;注意这里每次调用函数时谁都重新变为1,又因为s+=i在i++之前,所以每次都是1+前一次i的值,所以a=1+2+3+4+5=15
- 1 回答
- 0 关注
- 297 浏览
添加回答
举报
0/150
提交
取消