python:while循环 vs for循环

447 阅读2分钟

1/简单介绍for循环和while循环

for循环是针对可迭代序列中的每个元素,也就是说for循环是有限的,我们知道for循环啥时候结束,我们知道可迭代序列中有多少元素。
而while循环可以不断地循环,只要是满足条件就可以一直循环下去。直到不满足循环条件为止。
我们不知道while循环什么时候结束,因为while循环可以是有限的,也可以是无限的。

while循环:称之为条件循环,循环次数取决于条件何时为False。
          如果停止条件永远都没有达到,则一直循环下去,这就是我们常说的死循环,这是不被允许的。
for循环:循环次数取决于数据包含的元素的个数

这就是2者的区别
死循环是不被允许的。
       
       

2/while循环的例子

   n = 0
   while n < 5:
      print(n)
      n += 1
   
   # 打印结果是
   #0
   #1
   #2
   #3
   #4
   
   # 代码解释:
   # 首先我们定义了一个变量n,并且赋值为0,
   # 然后进入while循环,判断n是否小于5,此时为0,所以进入循环,打印0,
   # 继续走下一行代码,n += 1 理解为n = n + 1
   # 然后再从循环开始判断n是否小于5,此时为1,条件满足,继续往下执行,
   # 如此往复,直到不满足条件则,程序停止。

3/如何退出while循环

   #有2种方式
   
   #<1>使用标志位退出循环
   flag = True  # bool型
   message = 'xxxx'
   
   while flag:
       message = input("\ninput something please,enter 'quit' to end the program:")
       if message == "quit":  #一旦接收到的message是“quit”,则改变标志位flag,退出循环
          flag = False # 一旦标识位变成了False,则不满足循环
       else:
          print('your input message is :'+message)
       
   #<2>使用break命令退出循环
   flag = True
   message = ''
   while flag :
       message = input("\ninput something please,enter 'quit' to end the program:")
       if message == 'quit': # 在循环的过程中,一旦触发某个条件,则退出while循环
          break  # break,无条件退出循环
       else:
          print('your input message is :'+message)

4/while循环使用else语句块

   #在python中,while … else 在循环条件为false时执行else语句,
   
   #即在不满足循环条件的时候,执行else语句
   count = 0
   
   while count < 5:
       print(count, " is  less than 5")
       count = count + 1
       
   else:  # 及当while条件不满足时,退出while循环,这个时候执行else语句块
       print(count, " is not less than 5")

5/避免出现无限循环

  我们在编写代码时应该,避免出现死循环即无限循环,也就是条件永远满足的状态, 因为无限循环是非常占计算机性能的,如果控制台出现了无限循环,可以使用ctrl+c终止程序。