课程
/后端开发
/Python
/初识Python
第一个程序,输出结果为持续不断地输出元素1,这是因为没有对元素a进行改变。那为什么第二个程序sum不是连续的输出75这个结果那?而是进行了迭代相加,差别在哪里那?
2017-07-11
源自:初识Python 5-5
正在回答
第一个程序,相当于两层循环,首先是for循环,a=1,下来执行while循环,1<4永远成立,是一个死循环,所以一直输出1.
第二个程序单层for循环,每循环一次,将sum+a的值赋给sum,第一次循环a的值是75,sum初始值0.0,所以第一次循环sum值为75.0,第二次sum值为167.0......以此类推。
qq_苏格拉没有底_14 提问者
我想了很久,可能是这个原因。对于FOR语句来说,出来的元素如果没有进行处理,而只是做了条件判断,那么出来的就永远还是第一个元素
第一个程序,我的猜测是你要循环输出L这个list中的数字,for循环本身已经进行了一次循环,当a得值是1的时候,1<4恒成立,会造成程序跑不动报错,需要输出L中的数,直接print a就可以。
第二个程序,正是遍历了每一个数,然后sum = sum + a 这句话让这里L中所有的数字相加了,最后输出sum / 4相当于计算list中所有数的和再除以4
第一个程序是死循环,a=1时while无限循环一直输出1
第二个程序不存在这个问题
while 没有break的跳出条件,在while a<4里一直循环出不来
第二个程序输出是在循环完成之后,只输出一次,注意看缩进
举报
学python入门视频教程,让你快速入门并能编写简单的Python程序