第一次把它跑起来
场景:实验机的家目录里放着一个单位换算工具 conv.py(还没装成命令),一份说明,和一份对照表。对照表里列了 8 个换算结果,每个配一个标记——只有一个是按说明算出来的正确结果。 任务:按说明里给的数值和单位,用这个工具算一次,拿到结果
帮助里藏着一条
场景:这台实验机上的 conv.py 比你写的多了一个子命令:它不做换算,专门打印本机的验收标记。说明只告诉你有这么一条,没告诉你它叫什么、要什么参数。 任务:找到这个子命令,按它的要求运行,提交它打出的标记。 可操作范围:只在分给你的这台
只有退出码知道的事
场景:data/ 里有八个数据文件,每个一行一个长度。用工具的 --file 批量换算,八个文件打出来的都是一列正常的数。但其中恰好一个文件混进了一行解析不了的东西——工具会跳过那一行、照常打印其余结果,只是以非零退出码结束。 任务:找出是
把它装成一条命令
场景:家目录里的 conv.py 现在只能用 python3 conv.py 来跑。 任务:把它装成一条叫 conv 的命令——在任何目录下直接敲 conv 都能运行,不改它的代码逻辑。装好之后运行家目录下的 ./check,它会告诉你标记
不改代码,加一个单位
场景:conv.py 认识 m、km、cm、mi、ft 五种长度单位。说明里要求它认识一个新单位,并给出了换算关系。 任务:不改 conv.py 本身,让它按说明里的关系认识那个新单位。工具支持从哪里读自定义单位,它的帮助和文件开头写了。做
几十个数一次算完
场景:数据.txt 里有 40 个长度,说明里给了它们的单位。对照表里列了 8 个「总和」,每个配一个标记。 任务:用工具把这 40 个数全部换算成米并求总和,再到对照表里查这个总和对应的标记。工具能批量、也能直接给总和,看帮助。 可操作范
被吞掉的那句话
场景:家目录里有人留了一个 run.sh,说是一键换算。可是运行它什么都不打就结束了。 任务:查出工具到底报了什么错——错误信息里提到了一个单位,到对照表里查那个单位对应的标记。run.sh 可以读,也可以改。 可操作范围:只在分给你的这台
交付验收
场景:把家目录里的 conv.py 当成你自己的作品交付。说明里列了三件事:装成命令、通过配置加一个指定单位、把 --help 里的描述改成指定的一句话。 任务:三件都做到,然后运行 ./check,它会逐条核对并告诉你标记。少一件它只给提
为什么数据要落到文件里
同一份数据,两种形状 一张表 一棵树 上一条路线的换算结果只存在变量里,程序一退出就没了。真实的数据工具把数据放进文件,最根本的原因是【0】。
CSV 的每一行是什么
打开一份 CSV:第一行 date,store,item,qty,price,后面每行五个用逗号隔开的值。第二行起的每一行是【0】。