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

这两个程序的运行区别在哪里?

http://img1.sycdn.imooc.com//5964ba220001d92001600084.jpg

http://img1.sycdn.imooc.com//5964ba22000111ed02230118.jpg

第一个程序,输出结果为持续不断地输出元素1,这是因为没有对元素a进行改变。那为什么第二个程序sum不是连续的输出75这个结果那?而是进行了迭代相加,差别在哪里那?

正在回答

6 回答

第一个程序,相当于两层循环,首先是for循环,a=1,下来执行while循环,1<4永远成立,是一个死循环,所以一直输出1.

第二个程序单层for循环,每循环一次,将sum+a的值赋给sum,第一次循环a的值是75,sum初始值0.0,所以第一次循环sum值为75.0,第二次sum值为167.0......以此类推。


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

qq_苏格拉没有底_14 提问者

非常感谢!
2017-07-12 回复 有任何疑惑可以回复我~

我想了很久,可能是这个原因。对于FOR语句来说,出来的元素如果没有进行处理,而只是做了条件判断,那么出来的就永远还是第一个元素

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

第一个程序,我的猜测是你要循环输出L这个list中的数字,for循环本身已经进行了一次循环,当a得值是1的时候,1<4恒成立,会造成程序跑不动报错,需要输出L中的数,直接print a就可以。

第二个程序,正是遍历了每一个数,然后sum = sum + a 这句话让这里L中所有的数字相加了,最后输出sum / 4相当于计算list中所有数的和再除以4

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

第一个程序是死循环,a=1时while无限循环一直输出1

第二个程序不存在这个问题

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

while 没有break的跳出条件,在while a<4里一直循环出不来

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

第二个程序输出是在循环完成之后,只输出一次,注意看缩进

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

举报

0/150
提交
取消
初识Python
  • 参与学习       758623    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

这两个程序的运行区别在哪里?

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