2024-08
16

怎么就null了呢

By xrspook @ 8:54:26 归类于: 烂日记

周三的下午做了一个决定,周三的晚上可以说10点半开始,我觉得整个人都崩溃了。过了12点去睡觉的时候,我感觉整个人毫无睡意,躺在床上,翻来覆去,无论如何睡不着。所以刚刚躺下,我就又重新打开了微信,发出了一段的吐槽,但即便这样还是不解恨。接下来,我甚至都不知道自己是几点睡着的。满脑子都是工作上吐槽的东西,我感觉周三的晚上我就没怎么睡着过,但居然小米手环说我也有接近一个半小时的深睡时间。我不知道那个是怎么算出来的,但估计也睡着了一些时候,因为当我再次翻来覆去的时候,脑子里的东西好像少了一些,也变化了一些内容。我感觉周四一整天肯定会非常糟糕,但实际上却没有想象中的那么难。早上起床的时候不太糟糕,白天的时候也不太糟糕。周四要解决20级消消乐,搞到中午1点30才终于结束,午睡的时候好像也是迷迷糊糊,没怎么睡着,但起码脑子不会有那种大脑缺氧集中不了精神,做不了事的感觉。之所以这样啊,大概是因为周四早上吐槽完以后,我又进行了一番PQ的奋战,把最后的那个记账凭证部分也搞出来了。

其实前一天,我已经把另一个部分的记账凭证搞出来了。晚上洗澡又或者说睡觉的时候,我在考虑最后的这部分该怎么操作,所以其实整个思路其实都已经有了,最后就只是如何实施而已。最后的那个部分能实现我想要的效果,但是有一个我想不明白,当我添加某个条件列的时候,为什么在某个条件之下,明明我已经设定了数据,但是当我保存出去刷新的时候却没有数据?那个东西不知道为什么会默认把我设定的数据变成null,于是那里莫名其妙空了。第一次遇到的时候,我觉得是不是我手误,但是当我好几次都遇到,尤其是周四早上已经修正了一次,又遇到的时候我就觉得这大概率不是我的问题。但是为什么其它条件就不会出现这种状况,唯独在损耗这个条件判断上就会出现这种问题呢?但不是每个条件判断损耗的时候都会这样。我当然希望这只是因为我没有保存导致的,但不可能每次都是我没有保存出现这种问题,另外一个我觉得不是我问题的原因是如果条件判断最后出的结果我没有填写的话,那个地方应该是空的,当我发现刷新出来的数据少了一些东西进去看的时候,发现那里填写了null,我不可能在那里填写这种东西。Power Query在这个问题上到底有什么毛病呢?

PQ方案出来了以后我发现几乎没有需要文本合并的部分,所以这个方案完全可以用VBA替代。最大的区别我感觉是再用 PQ的时候,我在添加条件选择的时候会很方便,如果要在VBE里面写一大串的SQL代码,如果要体现回车还挺麻烦,但不会车和退格会造成一些编写和阅读上的困难。如果我是在一个数据库软件里写SQL,而不是在VBA里,以标准格式写SQL,没有这种烦恼,回车退格什么的东西都是很标准化的。但关键是要我在VBE里面写SQL,那个SQL就像变成了纯文本一样。因为在这个转化方案里需要用到大量的条件判断。想清楚那些条件判断,结果就出来了。我在PQ里面进行条件判断编写不需要用自定义模式,直接有一个条件判断的界面,在那里很容易就能实现功能。因为那个界面就像一个多条件的筛选框。以前我从来没试过这样,这一次添加条件列帮了我不少忙。

因为人已经恢复了平静,我也就不想继续吐槽了。

2020-04
25

该知道的我不知道

By xrspook @ 11:35:30 归类于: 烂日记

用两天才终于搞懂一道编程题目,这实在是太过分了。如果有人指点的话,肯定不需要这么长时间。如果在我看到这道题的参考答案之前已经完全明白参考答案里面写的所有东西的语法,我也不需要费这么多时间。对我来说,这个理解的过程就像是在猜谜语。什么样的东西是True,什么东西是False。理论上,这非常的简单,但实际上,当真的问起你的时候,如果还没有人跟你说过有这样的规则,你肯定想不明白,对我这种人来说,搞不明白就直接把那丢给python,要他试给我看会是什么的状况。

以前做条件判断,我都是用一些很明白的东西。用一些大家都知道是True还是False的东西,比如说条件是1大于2,这显然是不成立的,肯定是False,不会在这个条件下进行。但如果条件判断的时候,我传进去的是一个列表呢?列表到底是True,还是False?有东西,比如数字、字符的列表是什么?如果里面只有一对单引号,也就是空字符,那又是什么?还有另外一个情况,列表就只是一对方括号,一个空列表,这又是什么?通常来说,我不会给自己制造这些模棱两可的烦恼,如果是我自己写的条件,我不会这么折磨我自己,大概我会加个明确的判定下去。万一我真的把列表传进去作为条件判断。我会问那个列表是不是空列表,那个列表的长度是不是大于0?只要列表里面的东西,列表的长度就肯定大于0,无论里面是数字、字符,又或者是其他列表,甚至有元组,哪怕列表里面只有一对单引号,空字符串,其实也是有长度的,这样的列表长度为1。但空列表,就只有一对中括号的东西,长度会是0。如果在一对中括号里面又有一堆小号呢?从外面看来,中括号是有元素的,但是从里面的小括号元组看来,元组。这些说起来挺尴尬的事,如果你不知道他们的规则。无论如何都是回答不上来,答案是什么呢?这些答案又非常的明白,非黑则白,没有其他选择。

我不知道为什么在同一个判断上面,参考答案用了好几个表达式,是写脚本的人故意在用这种方式考验我们,还是说他有点随心所欲呢?对优秀程序员来说,通常不会犯这样的错误,或者说这能算是错误,应该是有这样不一致的习惯。养成一致的习惯是非常重要的,比如说注释的习惯。也比如缩进的习惯,在python里,缩进就是4个空格,没有说尽基本上程序就进行不下去了,因为通常你都要写个判断循环函数之类的吧。对我来说,我还没有养成空格的习惯,比如说,有些时候我的运算符和对象之间有没有空格,但有时却又。我完全是凭感觉。有些时候我会把那些东西搞得很开,有些时候我会挤在一起。当然,通常这些都不成问题。

在一道编程题上我之所以耗费那么多时间,就正如我上面所说,是因为在一些我应该知道的东西上面实际上我不知道。于是我得出一个结论,在看这个Think Python 2的时候,估计我得拿着本python的手册,一边学一边翻。显然Think Python 2这本书不会把所有规则都告诉你,因为他们想让你自己去学习,掌握那些他们觉得你铁定要知道的东西。

我不觉得用两天时间去研究透一道题是在浪费时间。

© 2004 - 2024 我的天 | Theme by xrspook | Power by WordPress