鏖战

作者: 雪帆 分类: 随笔 发布时间: 2021-08-19 23:47

从去年五六月份开始接触Python,一直对它有着浓厚的兴趣,也用它做了不少工作。

今年五月份以后,时间上比较宽裕,就开始琢磨着把以前用C语言写的生成测试数据的小程序用Python重写一遍。因为前一阵子在别人的基础上改造成功了一个桌面程序,自己也跃跃欲试。

身份证信息,用了比较讨巧的方法实现了,也想着用类似的方法实现统一社会信用代码的生成。但是,用了很久时间都没有找到合适的简单的方法,虽然找到了可以用来校验数据的代码,但是没有注释,读起来很费力气。

还是自己在C语言的基础上改造吧。有了之前桌面程序的成功经验,在它的基础上,适配Python语言。经历过一番挫折后,雏形有了,但是生成的数据对不对,符不符合规则呢?经过查资料发现,统一代码的有了较大变化,主要是多了登记管理部门和机构类型分类,还有组织机构代码的字符集需要按统一代码的规则修改,还有统一代码的校验码需要修改算法。努力很久之后,基本写好了。

有个问题,就是需要一款核验工具,于是按照最新规则写完工具,调试修改,多次检验,终于达到了要求。在此基础上,增加了重置功能,方便使用。

于是,开始调试生成工具,麻烦频出,组织机构代码校验码不对,统一代码校验码不对。分析调整后,组织机构校验码没问题了,但是统一代码的校验码始终有问题。只生成一个,正确,再多了就都不对了。用excel搞了计算校验的简易场景,发现校验码的值始终差1。多次检查调整相关代码,都无济于事。最后,感觉问题是出在总和的计算上面。拆分代码,搞成函数,结果没什么变化。最终决定,重构算法,比较成功的避免了校验码错误。

但是,新问题来了!

登记管理部门和机构类型,频道出错。一鼓作气,推翻旧算法,重来!新问题又来了,列表嵌套计算报错,查查资料,把元组改成列表。这次见效了!弄了一堆数据,核验,手工计算,都没问题了!暂时告一段落吧,等忙过了这段时间,再深入测试吧!

解决掉问题以后,心情不是一般的舒畅啊!

哈哈……

发表评论