PythonABC的教程基本完成,编辑刘大人建议每章结束后出几道思考题。这对我不是件容易的事儿,编程的题目最好既能串起知识点又能对解决实际问题有所帮助。年前跑去图书馆翻了几本python教材,希望一如既往奉行的“拿来主义”也能“拿来”好的思考题。大多数题目都太书生气,我若出题大概率也是这种风格,只有一本书上的题目还算接地气,揪出来了几道放进教程。
基础知识应付过去,python实例部分很吃力,实战经验太少,想不出实战的题目来。出到word这一张的题目时,正好在听许子东重读鲁迅和细读张爱玲,突发奇想何不出一道题目:在python-docx模块帮助下自动汇总作家的作品,生成图文并茂的word文档。想来应该不难,无非就是加段落加图片加表格,都有现成的方法函数。
题目出完后自己要做一做,看介绍的知识是不是足够用。结果做完后甚为不满,虽然可以完成既定任务,做出来的word文档却非常丑陋。对英文灵光的设置字体方法到中文字块这里完全不起作用,设置表格列宽的函数也不好用,添加的图片怎么不能居中?
好吧,还是先通过对鲁迅作品的处理来看我究竟是想让程序干什么吧(对于程序来说,一个作家的事儿整明白,十个作家还是一百个作家那都不叫事儿):
先建一个叫做鲁迅的文件夹,然后选鲁迅的几篇小说和小说中的人物放进一个txt文本(列表文件list.txt),内容是:
故乡 闰土
狂人日记 狂人
阿Q正传 阿Q
祝福 祥林嫂
孔乙己 孔乙己
伤逝 涓生、子君
药 夏瑜
然后按照列表找来作品的摘抄和跟作品相关的图片,放进鲁迅的文件夹里。鲁迅的文件夹长这样:
孔乙己.txt 长这样:
程序把这些原始素材自动组织起来编辑排版成如下word文档:
段落和表格里的中文字设置字体、图片居中和表格列宽的设定费了点周章,程序如下:
视频解释如下: