while循环



  • a = 0                #先定义变量a,并赋值
    while a < 5:         #设定一个放行条件:a要小于5,才能办事
        a = a + 1  # 满足条件时,就办事:将a+1
        print(a)   # 继续办事:将a+1的结果打印出来 
    

    while循环:放行条件
    while在英文中表示“当”,while后面跟的是一个条件。当条件被满足时,就会循环执行while内部的代码(while子句)。

    就像在上面的例题中,只要a<5这个条件成立,就不停地办事(把a+1的结果打印出来),直到条件不成立,办事流程就停止。

    举例:

    chord = ''  # 注:''代表空字符串
    while chord != '大三和弦':  #注:!=代表不等于
    ​    chord = input('请先回答135是什么和弦')
    print('棒棒哒,开始演奏音符')
    

    第1行代码:定义了变量chord为空的字符串。使用变量前要先定义变量并为变量赋值,下面我们还会继续用到变量chord。

    第2行代码:while后面有一个条件,当这个条件被满足时,即chord != '有'时,放行、办事。开始执行循环内部代码,即第3行的代码,开始询问。

    第3行代码:询问和弦名称?输入完信息后,回到第2行代码,重新判断条件真假。直到条件被判断为假,即chord == '大三和弦',while循环才结束。

    第4行代码:while 循环结束后的代码,也是循环外部的代码。因为当输入为大三和弦,while 后面的条件就为假,此时,程序会结束循环,去运行第五行代码。

    继续举栗:

    password = ''  # 变量password用来保存输入的密码
    
    while password != '816':
        password = input('请尝试输入密码:')
    
    print('欢迎回家!')
    

    while循环:办事流程
    while循环,在满足条件的时候,会一轮又一轮地循环执行代码。

    举例:
    用while循环解“1到100分别乘以5”

    i = 1
    while i<101 :
        print (i*5)
        i = i+1
    

    以上内容whlie循环


    两种循环的区别

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

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

    # 适合用for...in...循环
    for i in '大三和弦':
    ​     print(i)
    
    # 适合用while循环
    password = ''
    while password != '816':
    ​     password = input('请尝试输入密码:')
    

    要把字符串'大三和弦'拆成一个个字符打印出来,这件事【工作量确定】,适合用for循环。

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

    不过有一种情况for循环和while循环都可以解决问题,那就是【把一件事情做N遍】:

    #用for循环把诗句打印3遍
    for i in range(1,4) :
        print('明日复明日')
    
    #用while循环把诗句打印3遍
    j = 1
    while j<4 :
        print ('明日何其多')
        j =j+1
    

    你会看到,两者都能做。不过for循环的代码相对更简洁一些。


Log in to reply
 

建议的主题