国庆放三天了我作业一个字没动,先把这事写了。
说的是自动补全。就编辑器里那个一按 Tab 就往你代码里塞一大段的东西。我从去年开始一直关着,理由特别简单——我写代码是想学会写代码,补全塞给我一行我脑子里没走过的,我按一下 Tab 就等于跳过了那一步,那我学什么。跟同学抬杠的时候我还说过"开补全的人写出来的代码自己都不认识"这种话。挺装的,承认。
这周开了。应为(因为)我给自己挖了个坑。
班里体育委员问我,说运动会报名表收了三十多份,有人重复报了,问我能不能写个小工具把重复的挑出来,顺便按"每人最多两项"检查一遍。我说行,假期给你。当时我真觉得这是半小时的事。
前天下午,10 月 2 号。
打开电脑,Python,openpyxl 读那个表(我是从 C++ 那边过来的,写 Python 缩进老出错,烦)。报名表是那种典型班级表格,最上面一行大标题占了三个格,然后才是表头 姓名/项目/学号。
我的思路就是遍历每一行,把姓名那格取出来塞字典里数数。跑起来第一行就不对,我一开始以为是我把 sheet 名写错了,对了一遍没错。又以为编码问题,把文件另存了一遍。print 出来一排 None。
四十分钟。我连第一行都没读出来。
绷不住了。
然后我想起来那个一直关着的开关。当时想的就是都卡四十分钟了我还装什么。开了,写个注释"读取班级报名表,处理合并单元格",它直接把循环给我补出来了,连我前面自己写的那几行 for 也改了,改成一格一格地过整张表,遇到没有值的格子就跳过。
哦。合并单元格的内容只存在左上那一格里,别的格读出来就是 None。
这事我知道吗。我知道。我背过。但卡在那里四十分钟的时候,我脑子就是想不到这一层。它一行把这个知识点怼我脸上了。
而且我盯着那几行看了半分钟,看明白了。自己又加了两句清空格的,把逻辑改成我习惯的写法。这算谁写的,不知道,反正合并单元格怎么回事我现在是彻底记住了,比背十遍管用。
后面就顺了。去重那块它给的写法我嫌绕,自己重写了一遍,十几行。剩下时间给班长那个值日表加了个导出,也是它写我看着。写到一半我妈进来问我假期作业写了多少,我说在写。
???说真的嘴硬这么久图什么。它省掉的是我查文档和瞎试的时间,不是我理解那一步。要说风险也是有的,那种一键生成一整个项目跑通了就交上去的,我到现在也看不上。我原来是把这两件事混一起骂的,现在分开了。
开关就开着吧。
妈喊我吃饭了,吃完去补作业,下次再写