课程
/后端开发
/Python
/初识Python
答案为什么会不一样
2020-02-15
源自:初识Python 7-2
正在回答
不一样的,图二的 x<=100改成 x<100就一样了
我用的列表推导式
L = [(x * x) for x in range(1, 101)]
当然是一样的 第一图代码多了0*0 无效 还是等价于从1*1开始的
代码是一行一行的运行,第一个代码是正确的先运行了append函数再x加一后判断x<=100,如果成立,就接着运行,不成立就结束。第二段代码,x=99时,append(100*100)就已经满足要求,但是此时x=99,判断x<=100,成立,就会在运行一次,x=100时,经x=x+1,后append(101*101),再判断while ,x<=100,成立,结束。所以第二段代码比第一段代码要多一个101*101
等会,说错了,答案是一样的
由于变量X增加的顺序不同,图一是列表数据产生于变量更改之前,图二列表数据产生于变量更改之后。两个程序导致生成的列表第一个数据和最后一个数据不同
慕莱坞1109235 提问者
举报
学python入门视频教程,让你快速入门并能编写简单的Python程序