第三天学习的是while循环语句,这节课最后的实现效果是,完成1...100的叠加。
如果是1、2、3、4、5个数相加,很好操作。
print(1+2+3+4+5)即可输出结果。
但如果要1到100手动相加,会累死的。因此,要用到while循环语句。
先看一个例子,
运行一下,看在控制台会得到什么?
之后,我们删除 x = x + 1 ,运行一下看能得到什么结果。
得到了,无限个0,这个循环就进入到了一个死循环。
可以看到while循环语句的结构由三部分构成:循环体、循环变量和循环条件。
以这题为例,x 为循环变量,(x < 10)为循环条件,{ }大括号里的内容为循环体。每个循环都要可以跳出循环体,避免死循环。x = x +1 的作用就是如此。
那接下来,我们仿照上例,做另外一个while循环,如何输出1 到 100。
print(x)之后,我们在控制台中,看到了 1 ,2 ,3,4,5,一直到101。为什么会到101结束,因为当 x = x + 1 = 100 + 1 后,不满足(x <= 100)的循环条件,无法进入到循环体中,也就是说跳出了循环体,循环结束。
1)试一下,当循环条件变为( m < 100 )时会变成什么。答:控制台输出结果为100。
2)把print(m)放入while的{大括号之内}又会变成什么?答:无限循环的1、2、直到99。
3)把print(m)放到“m = m + 1”下面会变成什么?答:一直循环,从1到100。
这就是循环体while的用法,自己体会一下。
这是我对while循环总结:
1)为避免死循环,即无限循环,需要在循环体内设置条件,如 : x = x +1,通常写在循环体内的最后一步。
2)注意,循环体(x <= 0) 或(x < 0)等号的用法。
3)体会,print(m)放在循环体内及放在循环体外,位置的不同,产生的不同结果。在循环体内,会满足循环条件进行不断循环输出。在循环体外,仅一次输出。
4)循环体的运行方式是自上而下。
现在,有了前边的内容做铺垫,现在我们试一下,今天要实现的这道题应该如何写代码。题目是:1到100的叠加。
分析这道题,逻辑上分2步:
1)变量x的初始值为1,x通过不断加1,得到下一个值,1+1=2,2+1得到3,一直得到100。
2)得到值后在相加,即1+(1+1)+(2+1)+.....+(99+1)=
在程序中该怎么写代码呢?
代码中呈现的是先完成2)累加 ,然后完成1)产生新变量,体会其中的含义。
首先定义变量:
var x = 1
var sum = 0
然后,引入while循环语句
while (x <= 100) {
sum = sum + x
x = x +1
}
print(sum)
运行一下,看输出结果。是否等于5050?