show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
-
上次用pdb3调试了加法程序add.py
- h 帮助
- q 退出
- dislay 显示
- undisplay 取消显示
- ll 列出程序当前位置
- n 向下执行
-
还可以在调试过程中
- 动态修改变量的值
-
想 在程序执行过程 中
- 动态输入 被加数 和 加数
- 然后 再进行 求和计算
- 应该怎么做来着?🤔
- 键盘输入
- 这个事情我们干过
- 回忆一下
- 水果之和 = 苹果数 + 香蕉数
- 苹果数、香蕉数
- 都是 加法操作(operation) 的
- 操作数(operand)
- 都是 加法操作(operation) 的
- 不要想着一下子就搞成
- 小步快跑
- 一点点迭代出来
i_left = input("Left Operand:")
i_right = input("Right Operand:")
- 时刻进行小规模测试
- 运行结果
- 38这个结果 肯定不对
- 怎么才能得到正确的结果呢?
- 这个由你来修改...
- input 返回的是字符串
- 后来做的加法是字符串相加
- 所以得到字符串"38"
- 现在需要 把input得到的字符串
- 转化为整数
- 明确 变量类型
- 并标记到 变量名上
- int类型的变量 要标记为 i 开头
- str 类型的变量要标记为 s 开头
- 并标记到 变量名上
- 进行 类型转化
- 保存并运行
-
输入 3,8
- 测试成功
-
但是需要 考虑到容错
- 要加强 程序的鲁棒性
- 鲁棒性 也叫健壮性 robustness
- 不论 你怎么给 各种错误数据
- 程序 都不出毛病
- 都能容错
- 说俗话就是 比较皮实
- 程序 都不出毛病
- 输入错了也没事 程序能包容着
- 怎么折腾 都玩不坏的意思
- 不论 你怎么给 各种错误数据
- 那具体 怎么容错 呢?
- 使用
try:...except:...
- 进行异常处理
- 当 try 代码块内程序执行触发异常时
- python 会自动跳至处理器
- 即 except 分句下面的代码块去运行
- 如果输入的内容
- 不能顺利转化为数字
- 那就出错了
- 不能顺利转化为数字
- 出错了之后
- 要用红色的底色报错
- 这里把 i_sum 单独拎出来
- 当做一个变量
- 为的是程序明确可读
- 但是 如果出了问题
- 不知道 问题所在位置
- 是左操作数
- 还是 右操作数
try:
i_left = int(input("Left Operand:"))
except:
print("\33[41m[error]\33[0m Left Operand is NaN")
try:
i_right = int(input("Right Operand:"))
except:
print("\33[41m[error]\33[0m Right Operand is NaN")
i_sum = i_left + i_right
print(i_left, "+", i_right, "=", i_sum)
- 这样就更加明确了
- 出了问题 可以知道
- 是 哪边输入的问题
- 如果 python程序
- 依靠键盘进行输入
- 我们的大脑里面的程序
- 依靠什么输入呢?
- 大脑的输入 来自于 六根
- 六根
- 眼
- 耳
- 鼻
- 舌
- 身
- 意
- 六根清净
- 六尘不染
- 照见五蕴皆空
- 六尘不染
- 从小的学习过程
- 浸淫在 六根的输入信号中
- 想象 大多依赖于 画面
- 浸淫在 六根的输入信号中
- 想要 更加抽象
- 需要跳脱出 感知的局限
- 无眼界 乃至 无意识界
- 需要跳脱出 感知的局限
-
这次又做了一次 加法程序
- 输入 加数和被加数
- 输出 和
-
程序本身不难
- 先构思
- 一点点深入
- 不断进行修改
-
如果两边都能够转化成整型变量
- 就可以算出
- 和(
sum
)
- 和(
- 就可以算出
-
sum
这个词什么含义呢??🤔 -
下次再说 👋