Skip to content

Latest commit

 

History

History
155 lines (110 loc) · 3.29 KB

120-199151-调试程序_条件断点.sy.md

File metadata and controls

155 lines (110 loc) · 3.29 KB
show version enable_checker
step
1.0
true

缩进调试

回忆

  • 上次学习了 if条件语句中的 缩进块
    • 缩进的范围 是 程序逻辑的体现
    • 某行缩进与不缩进意味着
      • 当前行 归属于 哪个block
    • 这很显眼
  • 缩进4个空格
    • 从 视觉上 和 逻辑上
    • 都明确了 代码的逻辑关系
  • 毕竟
    • Readability counts.
    • 可读性很重要
  • 我们可以 debug 调试 条件语句 么?🤔

简化分析

t = float(input("Your temperature:"))
if (t > 38):
    level = "high"
print("Temperature is " + level)
  • 如果t 大于 38 的话
    • 第三行就能执行
    • l 就能被声明
    • 声明了之后就可以被正常输出

图片描述

  • 否则的话
    • 第三行就不能执行
    • l 就不能被声明
    • 没声明就无法被正常输出

图片描述

  • 怎么办?

提前声明

  • 提前声明
level = "low"
t = float(input("Your temperature:"))
if (t > 38):
    level = "high"
print("Temperature is " + level)
  • 不论 if 条件是否满足
    • level 都最好提前声明了
    • 而不是在某个分支里面被声明
  • 因为 只在某些分支里 被声明
    • 另一些 没有声明这个变量的分支
      • 就没法 调用这个变量
  • 在一开始
    • 就把所有要用的变量声明好
      • 是一个好习惯

图片描述

  • 我们尝试去调试一下

调试

  • 一路next

图片描述

  • 输入t的值
    • 显示出t的值

if跳转

  • 判断条件结果为False
    • 直接跳过 if条件体第3句

图片描述

  • 直接 跳到第4句
    • 继续 执行
  • 能否显示变量呢?

显示变量

  • 可使用
    • print(t)
    • 一次性 显示变量

图片描述

  • 可以用display
    • 设置监控变量

图片描述

  • 如果 我们
    • 将 断点设置 在第4行 ...

断点

图片描述

  • 直接continue起来

图片描述

  • 虽然设置了断点
    • 但是 由于不符合条件
    • 断点被直接跳过
  • 可以根据条件来设置断点吗?

条件断点

图片描述

  • b 5, t<=30
    • 在 第5行 设置断点
    • 当t<=30的条件下触发

运行

图片描述

  • t为37时
    • 跳过断点

图片描述

  • t为30时
    • 进入断点

总结

  • 这次可以对分支结构进行调试 debug
    • 不满足条件
      • 直接跳过条件体
  • display
    • 可以列出所有监控变量
  • 还更可以设置条件断点
    • b 5,t<=30
  • 这种条件语句还是挺常见的
    • 我们生活中也有类似的条件判断吗?🤔
  • 下次再说 👋