开发者学堂课程【Python 入门 2020年版:While 语句练习】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/639/detail/10267
While 语句练习
While 语句练习
现打印 10 次 hello world,程序如下:
i =0
while i <10:
print(‘hello world’)
i += 1
运行结果:C:\Users\chris\AppData\Local\Programs\Python\Python37\python.exe C:/Users/chris/Desktop/Python i/Day04-流程
hello world
hello world
hello world
hello world
Process finished with exit code 0
把 hello world 换成 i:
i =0
while i <10:
print(i)
i += 1
但以上代码有点问题,打印的是 0 到 9,因为一进来就先打印再自增。现想打印 1到 10,把 i+=1 移到 print(i) 上面:
i =0
while i <10:
i += 1
print(i)
先让它加,这样就会打印 1。当 i=9 时,9<10 满足条件,
i+1 就等于 10。
运行结果:C:\Users\chris\AppData\Local\Programs\Python\Python37\python.exe C:/Users/chris/Desktop/Python i/Day04-流程
1.2.3.4.5.6.7.8.9
Process finished with exit code 0
现将小的区间换成 100:
i =0
while i <100:
i += 1
print(i)
运行结果:C:\Users\chris\AppData\Local\Programs\Python\Python37\python.exe C:/Users/chris/Desktop/Python i/Day04-流程
1
2
3
4
5
6
7
8
9
10
(一直到100)
Process finished with exit code 0
先不想打印数字,要把它加起来,要想加结果,就要不断地往上添,就要把变量写入,就可写成:
#求 1~100的所有整数之和
i = 0
result = 0
#定义一个变量用来保存所有数字之和
while i < 100:
i += 1
result = result + i
print(result)
#表示打印
开始 i =0,0<100 满足条件,i += 1,i = 1。进入 result = result + I, 这里 result = 0,0+1=1。
注意到 i += 1 result = result + i 走完后,while 里面的循环体是不是就走完了,就会回到 while i < 100: 判断,result 没有重新变为 0。因为 result 代码没有写到while 里,只有第一次等于 0。
现在 result 已经加 1 了,所以 result=1。现在就等于 0+1+2。走完后又回来判断条件,i = 2,2 < 100 满足条件,3 加进来 result=0+1+2+3 。一直加到 i=99,99<100 满足条件,i=100,result=0+1+2+3…+100,100 再进来,不满足条件。
等到 while 语句走完,就打印(注意如下情况不是打印最终的结果,这是表示每次加的都会打印:
i = 0
result = 0
#定义一个变量用来保存所有数字之和
while i < 100:
i += 1
result = result + i
print(result)
)
。
要把 print(result) 放外面:
i = 0
result = 0
#定义一个变量用来保存所有数字之和
while i < 100:
i += 1
result = result + i
print(result)
#表示打印
运行结果:C:\Users\chris\AppData\Local\Programs\Python\Python37\python.exe C:/Users/chris/Desktop/Python i/Day04-流程
5050
Process finished with exit code 0
求 1~100 所有偶数的和,就加一个判断,
i = 0
result = 0
#定义一个变量用来保存所有数字之和
while i < 100:
i += 1
result += iprint(result)
上面的代码是什么数都加上去了。要偶数相加如下:
i = 0
result = 0
#定义一个变量用来保存所有数字之和
while i < 100:
i += 1
# i 也可以加等于 2
if i % 2 == 0:
#偶数才被加到 result
result += i
print(result)
拓展:
#求 [35,987] 之间所有整数的和
y = 0
j = 34
while j <987:
j += 1
y += j
用 for 循环也是没问题的。
#求 [m,n] 之间所有整数的和
y = 0
j = m-1
while j < n:
j += 1
y += j