while 循环

for循环,循环的次数是确定的。
while循环可以是无限次的循环。

  1. while True:
  2. print("helloworld")

image.png
如果要停止循环,需要手动点击【stop】停止。
while 循环也可以执行循环次数。

比如使用for循环 循环10次,

  1. for i in range(10):
  2. print(i)

使用while循环

  1. i=0
  2. # 条件
  3. while i<10:
  4. print(i)
  5. i = i+1 # 每次循环完成之后 i的值递增1

场景

计算1+2+3+4+5+6+….+100 的结果是多少?
使用while循环的方式来计算

  1. # 计算和的初始值 0
  2. sum = 0
  3. # 开始值
  4. n = 1
  5. while n<=100:
  6. # 加一次结果
  7. sum = sum+n
  8. # n递增1 每次循环增加
  9. n = n+1
  10. #while循环执行完
  11. print("最终的结果:",sum)

使用for循环也可以

  1. sum = 0
  2. for i in range(1,101):
  3. # 每次循环计算1次结果
  4. sum = sum+i
  5. # 循环完成之后计算最终结果
  6. print(sum)

嵌套循环

可以在循环中再加一层循环,实现多层循环。

  1. for i in range(10):
  2. for j in range(3):
  3. print("i=",i,"j=",j)

上面的代码会循环30次。

嵌套循环可以 添加多层进行循环。嵌套循环的时候需要注意代码的格式。

break 中断循环

break可以终止循环的执行。
使用while循环,循环达到一定次数可以被中断。

生成一个随机数,当这个随机值大于0.5的时候,输出“结束”,否则一直循环下去。

  1. # 导入 random模块
  2. import random
  3. while True:
  4. # 生成一个0-1之间随机数
  5. a = random.random()
  6. print('随机值为',a)
  7. if a >0.5:
  8. print('结束')
  9. # 中断循环
  10. break

当代码执行的时候,如果遇到break 语句,可以中断循环
假如 最多循环10次,生成一个随机数,当这个随机值大于0.5的时候,输出“结束”,否则一直循环下去。
也可以使用for循环实现:

  1. import random
  2. for i in range(10):
  3. a = random.random()
  4. print("生成随机数",a)
  5. if a>0.5:
  6. print("结束")
  7. break

continue 继续

与break不同的是:当循环中遇到continue,当次循环会被中断,但是整个循环还会继续运行下去。

  1. for i in range(3):
  2. print(i)
  3. if i==1:
  4. continue
  5. print("hello")

执行结果

  1. 0
  2. hello
  3. 1
  4. 2
  5. hello

当i==1 的时候,不再执行当前循环,执行下一次循环。

面试问题

  1. continue 和 break的区别:

break 是中断整个循环。
continue中断当次循环,循环还会继续下去。

  1. while循环 跟 for 循环的区别:

while 循环可以无限次循环
for循环一般循环的次数都是确定的。
while 循环可以添加条件让循环也是可控的。

作业

  1. 计算2+4+6+8+10+…+100, 100以内的偶数之和。

提示:
for 循环

  1. for i in range(1,10,3):
  2. print(i)
  1. sum = 0
  2. for i in range(2,101,2):
  3. sum = sum +i
  4. print(sum)
  1. sum = 0
  2. n = 2
  3. while n<=100:
  4. sum = sum +n
  5. n = n+2
  6. print(sum)