作者回复: 氦同学非常认真哦,能够通过视频内容联系到以前学习过的进制、质数等概念进一步加深对程序的理解; 编程就是这样的,如果能够通过数学、算法等方式来优化逻辑,又不增加阅读代码难度的话,就会极大的提升代码的性能,你积累的知识越多,你的代码就越优质,这也是编程让人着迷的地方。
作者回复: 您好,我依次回答一下这三个问题: 1 coding: utf-8 是声明代码文件使用的字符编码是utf-8编码,让python以声明的编码来运行源代码文件。考虑到您使用的是mac环境,是否pycharm运行这段代码使用了python2 而不是python3 ? 可以在Pycharm界面运行时观察界面下方输出消息,确定当前使用的是哪个版本的python,因为在python3默认使用的就是utf-8编码。更改pycharm使用python3运行的方法是 点击pycharm界面上的运行-编辑配置, 在Python interpreter 改为python3 解释环境。 2 这是一个除法精确度的问题,在python2环境"/"符号两边都是整数,返回的结果也是整数,在python3以及不存在这个情况了,这里也验证了第一个问题,您在Pycharm环境使用的是python2解释器,在终端由于Python3是后安装的,所以优先使用了Python3解释器。 3 还是一个编码问题, 使用[0:4]是因为一次操作的单位是一个字节,所以没办法取到完整的“中文字”,编码规定:UTF-8编码,一个中文字符需要用3个字节来表示;GBK编码,一个中文字符需要2个字节来表示。这也是为什么你需要是用3的倍数的原因了。
作者回复: 你好,是为了方便计算年份和生肖的对应关系,例如年份2016刚好可以被12整除,而这一年的生肖是猴,所以把猴放在了字符串的第一位,如果字符串以鼠牛虎兔的顺序定义,我们计算时要将2016%12+9,比较繁琐
作者回复: 我说下解决办法哈,整体来说这个问题不难,因为已经有各种库和方法能够实现基本需求,你需要把一个完整的功能做拆分,比如将读取excel功能封装成一个函数,得到的servername返回值可以使用列表结构存储;创建文件夹的功能明显要根据列的数量来决定,因此需要继续构造一个循环结构;创建文件夹可以使用os模块实现,在文件夹中继续做其他的工作可以把这些写入到一个函数放入到创建文件夹的循环结构中。 主要还是要掌握把一个大问题拆分成小问题,把小问题转化为代码的能力。
作者回复: 你好, 中文的字符串,每个汉字占位3个字符长度是因为不同的操作系统和文件编码(UTF-8、GBK等)导致的。
作者回复: python使用空格做语句块的分隔标记,一般称作缩进
作者回复: 在python 中, “%”符合会返回除法的余数,year变量赋值之后和 12做“%”运算,之后的余数是2,所以返回的结果是2
作者回复: 是可以的, 这里的例子主要想用“笨方法”演示字符串的操作,其实从算法来讲并不是最优的
作者回复: 试一下修改pycharm-settings-file encodings下面的IDE encodings 和Project encoding 为UTF-8试一试?因为windows 默认是GBK编码,当有编码不一致时就容易出现中文乱码的情况