课程
/后端开发
/Python
/初识Python
sum = 0x = 1while (x <= 100) and (x%2 == 1) : sum = sum + x x = x + 1print sum
2018-07-19
源自:初识Python 5-5
正在回答
在while的第二次循环开始时,x已经值为2,所以条件判断为false,即退出while循环,导致sum值只能为1
所以可以看出while循环的判断条件有问题,应该使用if语句结构,将这条判断语句x%2 == 1内置在循环体以内。
dong_brother 提问者
因为当第一次循环完后,第二次就进不了循环了,x的值就一直是2
while 语句里是判断条件真假,之后执行命令。而且条件语句里一般不用A and B模式
第二次x的值为2,所以x%2==1这个条件不成立,所以会退出while循环,直接输出sum=1;你可以把(x%2==1)
改成 if x%2==0:
continue
把这条语句加到while循环里面去
x = 1 的时候,条件一成立,x%2 == 1,条件成立,运行代码块得到sum = 1,x =2。继续循环,x=2,条件一为true,条件二x%2==1不成立为false,and是且,所以最后为false,循环结束。
举报
学python入门视频教程,让你快速入门并能编写简单的Python程序