参数解析与退出码

补全 main(argv):返回 (输出文字, 退出码)。用法 运算 整数 整数,运算只有 add / mul;参数个数不对、运算名不认识、不是整数,一律返回 ("用法错误", 2);否则返回结果字符串和 0。

开始练习 →

四则运算命令行工具

场景:团队需要一个能被别的脚本调用的计算小工具:调用方不仅看它的输出,还要靠退出码判断成功还是失败。 任务:新建 ~/work/calc.py:python3 calc.py 运算 整数 整数,运算为 add/sub/mul/div(div

开始练习 →

用 argparse 加选项

场景:一个列成绩的小脚本只能全部打印。老师想要「前几名」「只看及格的」「倒着排」这些选项。 任务:改 ~/work/top.py,用 argparse 加上 --top N(默认 5)、--min M、--reverse。分数相同按姓名字典

开始练习 →

traceback 从哪读起

Python 3 的 traceback 里,真正出错的那一行通常在【0】。

开始练习 →

两段报错看哪一段

traceback 中间出现 The above exception was the direct cause of the following exception 时,最早出错的地方在【0】。

开始练习 →

坏数据跳过不崩

逐行处理订单:数量不是整数、或商品不存在,都跳过并计数;否则把 单价×数量 加进合计。输出 合计/跳过数。

开始练习 →

照着报错修好多文件程序

场景:一个三文件的小收银程序(main / loader / pricing),遇到脏数据就整个崩掉。报错指向的文件,不一定是你最先打开的那个。 任务:让 cd ~/work/shop && python3 main.py

开始练习 →

报错链最底下的真凶

场景:一个服务在处理数据时崩了,屏幕上打出两段 traceback:下面那段说的是一个包装过的业务异常,看上去像是罪魁祸首。 任务:在 ~/work/app 运行 python3 main.py,找出「最早真正出错」的那个函数的名字(不是把

开始练习 →

直接运行时的名字

直接用 python3 mathx.py 运行时,mathx.py 里的 __name__ 的值是【0】。

开始练习 →

带点号的导入怎么跑

包里的 cli.py 写着 from .count import top_words,要运行它应该【0】。

开始练习 →