while循环

while循环

while基本格式

a = 0                #先定义变量a,并赋值

while a < 5:      #设定一个放行条件:a要小于5,才能办事

    a = a + 1      # 满足条件时,就办事:将a+1

    print(a)         # 继续办事:将a+1的结果打印出来

 

注意:while后面必须有冒号,紧接着必须缩进

image.png

 

 

示例格式

password = ''     # 变量password用来保存输入的密码

while password !='123':     #123也必须是字符串,记得加引号,否则报错     !=是不等于的意思

    password = input('请尝试输入密码:')    #如果输入的不是123,那么就输出“请尝试输入密码”  这一行需要缩进

print('欢迎回家')    #直到终端输入的是123,才会出现“欢迎回家” print必须和while对齐

 

 

print缩进与否

 

# 缩进

a = 0

 

while a < 5:

    a = a + 1

    print(a)   打印结果:12345

 

 

# 不缩进

a = 0

 

while a < 5:

    a = a + 1

print(a)   打印结果:5

 

有缩进的时候,print(a)也是循环中的“办事流程”,会将数字逐一打印。没有缩进的时候,循环中的“办事流程”就只有做加法,print(a)也就只会打印循环结束时的最后一个数字。

 

 

1到100分别乘以5

while循环

 

i =0

while i<101:

   print(i*5)

   i=i+1

 

for循环

 

for i in range(1,101):

    print(i*5)

 

区别

for循环和while循环最大的区别在于【循环的工作量是否确定】,for循环就像空房间依次办理业务,直到把【所有工作做完】才下班。但while循环就像哨卡放行,【满足条件就一直工作】,直到不满足条件就关闭哨卡。

所以说,当我们【工作量确定】的时候,我们就可以让for循环来完成重复性工作。反之,要【工作量不确定时】可以让while循环来工作:

 

# 适合用for...in...循环

for i in '神雕侠侣':

     print(i)

 

# 适合用while循环

password = ''

while password != '816':

     password = input('请尝试输入密码:')

 

要把字符串'神雕侠侣'拆成一个个字符打印出来,这件事【工作量确定】,适合用for循环

而对于“输入密码,判断输入的密码是否正确”这件事,我们并不知道要判断几遍才能得到正确密码,所以【工作量不确定】,适合用while循环

 

 

有一种情况for循环和while循环都可以解决问题,那就是【把一件事情做N遍】:for循环的代码相对更简洁一些。


#用for循环把诗句打印3遍

for i in range(1,4) :

   print('明日复明日,明日何其多。')

 

#用while循环把诗句打印3遍

j = 1

while j<4 :

   print ('明日何其多,明日何其多。')

   j =j+1

 

练习

打印出1到7之间的数字,不包含4

for循环:

for i in range(1,8):

   

   if i !=4:

       print(i)

 

while循环:

i =0

while i<7:

   i=i+1

   if i !=4:

       print(i)

 

 

image.png

posted @ 2019-11-25 16:12  琳达的博客  阅读(983)  评论(0编辑  收藏  举报