Navigation

    • Register
    • Login
    • Categories
    • Recent
    • Tags
    • Popular
    • Groups

    while循环

    音频程序
    1
    1
    1055
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      codeman last edited by

      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循环的代码相对更简洁一些。

      1 Reply Last reply Reply Quote 0
      • First post
        Last post
      • C

        python - 函数
        音频程序 • • codeman

        1
        0
        Votes
        1
        Posts
        709
        Views

        No one has replied

      • C

        列表和字典
        音频程序 • • codeman

        1
        0
        Votes
        1
        Posts
        741
        Views

        No one has replied

      • 怪力乱神

        如何快速打印100遍REAPER
        音频程序 • • 怪力乱神

        1
        0
        Votes
        1
        Posts
        739
        Views

        No one has replied

      • C

        for循环
        音频程序 • • codeman

        1
        0
        Votes
        1
        Posts
        764
        Views

        No one has replied