Skip to content

Latest commit

 

History

History
216 lines (154 loc) · 4.07 KB

150-233735-循环起来_while.sy.md

File metadata and controls

216 lines (154 loc) · 4.07 KB
show version enable_checker
step
1.0
true

循环起来

回忆

  • 上次研究了条件分支相关的
    • 有各种分支情况
    • 比较运算符
    • 逻辑运算符
    • 位运算符
  • 最后还做了一个主动防御
  • 现在我们了解了两种程序结构
    1. 顺序结构
      • 从上到下依次执行
      • 一条笔直的大马路
      • 一路畅行无阻
    2. 分支结构是指当程序执行到某步时
      • 需根据实际情况选择性的执行某部分代码
      • 就如同生活中的十字路口
      • 不可能同时走多条路
  • 还有什么结构呢?🤔

持续输出

  • 想要 输出
    • 从 0 到 10 的数字

图片描述

  • 应该怎么办呢?

直观

  • 直接的想法是

图片描述

  • 这确实可以
    • 但是如果要循环一千次
  • 要怎么办呢?
  • 你说你有毅力?🤭

毅力

  • 那好吧
    • 我们要数到十万次

图片描述

  • 如果是 上亿次
    • 这就不是 毅力的问题了
  • 这是大脑有问题了

循环

  • 这个情况下
    • while循环就简单了
i = 1
while i<= 10:
    print(i)
    i = i + 1
  • 注意
    • 循环的开始条件 i = 1
    • 循环条件 i <= 10
  • 这个和 if 有点像
    • if 是 满足条件
      • 进入 条件体
    • while 是 满足条件
      • 进入 循环体
    • 而且 循环体
      • 执行完了 之后
        • 还要 再次判断

图片描述

  • 真的可以循环十万次么?😲

    • 试试!!!
  • 这个程序可以调试吗?

调试循环

  • 从开头进去
    • 进入循环
    • 执行到最后一行

图片描述

  • 然后会发生什么呢?

判断循环条件

  • 再次进入循环

图片描述

条件断点

  • 准备设置 条件断点
    • 当i等于11时
    • 在第二行停下

图片描述

continue

图片描述

  • 现在i等于11
    • 循环条件为False
  • 能否进入循环呢?

结果

  • 跳出循环
    • 程序 返回(return)

图片描述

十万次

  • 注意循环的条件改了

    • 原来的 10 次变成了 10 万次
  • 运行起来还要一会儿时间

i = 1
while i<= 10**5:
    print(i)
    i = i + 1
  • 具体需要多久呢?

计算时间

import time
start = time.time()
i = 1
while i<= 10 ** 5:
    print(i)
    i = i + 1
end = time.time()
print(end - start)
  • 通过结束时间刨去开始时间
  • 得到程序运行的时间

图片描述

  • 如果真的
    • 数到一亿
      • 要多久?
  • 如果要数到
    • 无穷大呢?

更加过分

  • 比 数到一亿 更过分的
    • 是 数到 无穷大
  • 可以直接来个 死循环 么?
import time
start = time.time()
i = 1
while True:
    print(i)
    i = i + 1
end = time.time()
print(end - start)
  • 循环条件上
    • 连判断都省了
    • 直接给一个 True
  • 永永远远地循环下去了 🙀🙀🙀
  • 现实中
    • 有这种情况么?

循环播放

图片描述

图片描述

  • 我们 能用死循环
    • 做点什么好玩么?

总结

  • 这次见识到了python循环
    • 就是重复地做某些事情
    • 没完没了的死循环

图片描述

  • while True
    • 就是 死循环
    • 会没完没了地 播放下去
  • 我们可以用 死循环 做出什么神迹吗??🤔
  • 下次再说 👋