初识python - 流程控制While
语法
while 条件:
执行代码...
简单吧, while
就是当的意思,当山峰没有棱角的时候,当河水。。。,sorry , while
指 当其后面的条件 成立 ,就执行while
下面的代码
写个让程序从0打印到100的程序 ,每循环一次,+1
count = 0
while count <= 100 : #只要count<=100就不断执行下面的代码
print("loop ", count )
count +=1 #每执行一次,就把count+1,要不然就变成死循环啦,因为count一直是0
输出
loop 0
loop 1
loop 2
loop 3
....
loop 98
loop 99
loop 100
如果我想实现打印1到100的偶数怎么办呢?
那就得先搞清,怎么判断一个数字是偶数,能被2整除的就是偶数对不对, 怎么判断能否被2整除?简单,除完2没有余数就是啦。记得我们学的取模算运算符么?
>>> 10%2
0
>>> 8%2 #无余数,是偶数
0
>>> 7%2 #有余数,是奇数
1
放到我们的循环程序里
count = 0
while count <= 100 : #只要count<=100就不断执行下面的代码
if count % 2 == 0: #是偶数
print("loop ", count)
count +=1 #每执行一次,就把count+1,要不然就变成死循环啦,因为count一直是0
输出
loop 0
loop 2
loop 4
loop 6
....
loop 96
loop 98
loop 100
死循环
有一种循环叫死循环,一经触发,就运行个天荒地老、海枯石烂。
while 是只要后边条件成立(也就是条件结果为真)就一直执行,怎么让条件一直成立呢?
count = 0
while True: #True本身就是真呀
print("你是风儿我是沙,缠缠绵绵到天涯...",count)
count +=1
循环中止语句
如果在循环的过程中,因为某些原因,你不想继续循环了,怎么把它中止掉呢?这就用到break 或 continue 语句
- break用于完全结束一个循环,跳出循环体执行循环后面的语句
- continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环
例子:break
count = 0
while count <= 100 : #只要count<=100就不断执行下面的代码
print("loop ", count)
if count == 5:
break
count +=1 #每执行一次,就把count+1,要不然就变成死循环啦,因为count一直是0
print("-----out of while loop ------")
输出
loop 0
loop 1
loop 2
loop 3
loop 4
loop 5
-----out of while loop ------
例子:continue
count = 0
while count <= 100 :
count += 1
if count > 5 and count < 95: #只要count在6-94之间,就不走下面的print语句,直接进入下一次loop
continue
print("loop ", count)
print("-----out of while loop ------")
输出
loop 1
loop 2
loop 3
loop 4
loop 5
loop 95
loop 96
loop 97
loop 98
loop 99
loop 100
loop 101
-----out of while loop ------
while … else ..
与其它语言else 一般只与if 搭配不同,在Python 中还有个while …else 语句
while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句
count = 0
while count <= 5 :
count += 1
print("Loop",count)
else:
print("循环正常执行完啦")
print("-----out of while loop ------")
输出
Loop 1
Loop 2
Loop 3
Loop 4
Loop 5
Loop 6
循环正常执行完啦
-----out of while loop ------
如果执行过程中被break啦,就不会执行else的语句啦
count = 0
while count <= 5 :
count += 1
if count == 3:break
print("Loop",count)
else:
print("循环正常执行完啦")
print("-----out of while loop ------")
输出
Loop 1
Loop 2
-----out of while loop ------