班歌投票:一次完整调试

班歌投票:一次完整调试

全班 8 个人投票选班歌。程序分三步:数票 → 找出票最多的歌 → 输出结果,最后还挂了一条回归测试。 可现在它选出来的班歌不对,回归测试也没通过。程序里藏着两个 Bug,自己完成一次完整调试: 运行

阅读更多 →
勇者打怪兽:盯住怪兽的血量

勇者打怪兽:盯住怪兽的血量

勇者打了 5 个回合,每回合的伤害在 hits 里,怪兽一开始有 100 滴血,伤害加起来正好 100。 程序每回合都打印一次怪兽的血量——这就是在逐步观察变量。可运行后怪兽的血一会儿少一会儿多,最后

阅读更多 →
跳绳打卡:累计怎么会往下掉

跳绳打卡:累计怎么会往下掉

小明每天跳绳,程序要输出每天累计跳了多少个,最后输出一周总数。 运行一下现在的程序,看看打印出来的中间值:累计的个数应该只增不减,可它却忽高忽低——画面里的折线也跟着上下乱跳。 从第一个不对劲的中间值

阅读更多 →
完整调试:两个 Bug 一起修

完整调试:两个 Bug 一起修

这份成绩单里,999 是“缺考”的记录,不是真实成绩。程序要统计有效(不超过 100)且及格(不低于 60)的人数。 下面的程序有两个 Bug:缺考记录没被排除,及格的边界也写错了。请把两个都修好,输

阅读更多 →
修根因,再加一条验证

修根因,再加一条验证

下面的 average 想求平均分,却只把总分返回了。后面那条测试正好能抓到它。 请修好函数,让程序输出两行:第一行是 average([80, 90, 70]) 的结果,第二行是测试结论。 代码里带

阅读更多 →
最小复现并修复求和 Bug

最小复现并修复求和 Bug

这是本路线第一题见过的那个 Bug 的最小复现:累加被写成了赋值,每一轮都把上一轮的结果冲掉。 请修好它,让程序输出 6。 代码里带 @youci 的语句,以及专门用来输出这些语句的函数,都只负责播放

阅读更多 →
修复一个运行错误

修复一个运行错误

下面程序想输出最后一个元素,却写死了一个越界的下标,运行会崩溃。 请改成不管列表多长都能取到最后一个,输出 30。 代码里带 @youci 的语句,以及专门用来输出这些语句的函数,都只负责播放动画,不

阅读更多 →
定位并修复上一题的 Bug

定位并修复上一题的 Bug

上一题的程序漏算了正好 60 分的那个人。请修好它,让它输出 2。 代码里带 @youci 的语句,以及专门用来输出这些语句的函数,都只负责播放动画,不是这道题要学的内容,也不会出现在输出面板里,做题

阅读更多 →
有 Bug 的程序实际输出什么

有 Bug 的程序实际输出什么

下面程序想统计及格(不低于 60)的人数,但边界写错了。运行后它实际输出什么? scores = [80, 55, 60, 40] count = 0 for s in scores: if

阅读更多 →
一份完整的 Bug 报告

一份完整的 Bug 报告

一份完整的 Bug 报告应该包含【0】。

阅读更多 →