本文首发在我的个人博客:https://jlice.top/p/7tvks/。欢迎大家前去参观,么么哒~
前言
做久了LeetCode,感觉快被LeetCode给惯坏了。LeetCode体验很好,不用处理输入输出,可以在线调试代码,出错时给出用例数据和正确结果。但是,很多OJ(比如HDOJ、ZOJ等)就只有极其有限的反馈。当好不容易写完代码,结果提交上去Wrong Answer,努力找代码中的错误也找不出来,这时该怎么办?
如果能找到AC的代码,那么,可以写一个测试用例数据生成器,然后将自己写的代码的运行结果与AC的代码的运行结果进行对比,这个过程叫“对拍”。对拍是在做OJ时很常用的手段,不过,往往需要进行多次的对拍,如果每次都手动执行对拍,无疑是件很繁琐的事情。如果一件事做起来很繁琐,那么就很难坚持下去,也难以享受其中的乐趣。所以,可以编写对拍器来自动进行对拍。
为了避免不必要的手动操作,我们希望对拍器能不断生成用例数据,直到自己写的代码的运行结果与AC的代码的运行结果不一致,最后自动打开文本比对工具进行结果比对。
代码
由于个人对Python较为熟悉,而且感觉用Python写这样的小脚本比较方便,所以就用Python写的对拍器作为例子。
from random impo