2020-04
3

四行四列的小网格

By xrspook @ 22:17:26 归类于: 扮IT

先放效果图

Think Python 2 第三章练习题三我的解决办法。只能用学过的语句(还没讲到循环),for啊,while啊都不许用,于是我只能很蛮很直接了。如果要绘制两行两列的小网格,我只需把do_twice里的a、b函数从现在的重复4次变成重复两次即可。我觉得自己的脚本比官方提供的四行四列的小网格绘制法更易懂肿么破。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
def plus():
    print('+ ', end='')
def minus():
    print('- ' * 4, end='')
def bar():
    print('| ', end='')
def space():
    print('  ' * 4, end='')
def do_twice(a,b):
    a()
    b()
    a()
    b()
    a()
    b()
    a()
    b()
def do_four():
    col()
    col()
    col()
    col()
def col():
    do_twice(bar,space)
    bar()
    print('')    
def row():
    do_twice(plus,minus)
    plus()
    print('') 
def print_grid():
    do_twice(row,do_four)
    row()
print_grid()
2020-04
3

折腾md阅读器

By xrspook @ 9:29:46 归类于: 烂日记

昨天继续看Think Python,上午看得好好的,下午就发现我看的那本电子书打不开了,然后我进而发现可能不是那本电子书的问题,是那个托管电子书网站的问题。不知道出什么毛病了。墙外的东西出毛病,我觉得再正常不过了,尤其是在现在这种全世界都集体闭关的情况下,闭关的时候看书很正常。于是我就从其他地方把同一个版本的电子书下载回来了,一开始我挺高兴的,因为那是Markdown的格式,必定挺容易转格式。以前我用点点的时候电脑上就装了一个Markdown的编辑器。我个人觉得那个东西挺简单的,界面分为两半,一半是用来写Markdown代码,另外一半以HTML显示。简单来说,Markdown是一种轻代码,相比于传统HTML,Markdown标记简单非常多。你甚至可以用写脚本的工具写一个有格式的东西。如果Markdown能推行的话,甚至能颠覆Word这种可排版的传统文档,因为在格式处理方面,Markdown的快捷方便实在太强大了。点点一开始是不支持Markdown的,他们用的是普通富文本编辑器,但不知道从哪个版本开始就支持了Markdown,但你可以继续选择富文本编辑器。我从那个时候尝新,于是就认识了这种语言。

Markdown文件下载回来以后我的第一个想法是我要把下载回来的md转变为mobi。mobi是kindle支持的格式,跟pdf最大的不同在于mobi在kindle里面是可以随意变换字体大小而不影响框架结构的,这个非常重要。我之所以不想把下载回来的md变成pdf,其中一个原因就是其实我也有我正在看的那本Think Python的pdf电子书,但因为字体太小,简直把我折磨死了。所以我必须整出一个在多设备上兼容的,而且字体大小不整死我的版本。

我觉得从md变成mobi应该很简单,但实际上,我折腾了一个下午,都没找到方案。多数人都是通过电子书的托管去实现格式转换的,但实际上,线上版根本就没有转化为mobi的功能,只能转换为pdf,这不是我想要的。至于脱机的版本,还得配置一系列的环境。成本有点高,其它软件,貌似都无法做到这种功能。把md变成html,然后再从html转变为mobi,是完全有可能的,但这也太麻烦了吧。最后我突然想到,为什么我不直接把浏览器当成我的md阅读器呢。的确Firefox有这种插件,随便装了一个以后我觉得世界被拯救了!Firefox里的md插件有好几个,试了一圈以后,我觉得页面不要那么宽的,会看得舒服些。因为如果那个页面有我整个浏览器那么宽的话,我看一行字还得从西边看到东边很费劲。

电脑上的问题解决了,手机上我也试了好几个md的阅读器。不少app都可以用md去记录东西,但是要从我的手机SD卡里面读取md文件貌似就不行了。从手机内存上读取是可以的,但是从手机SD卡上读取不少软件都不行。所以最终手机上我用的是坚果云的Markdown编辑器。那个东西很小巧,跟坚果云是一家的。我第一个下载的app就是它,但之所以想尽量不用是因为我怕那会耗费我的坚果云的流量。虽然我的md文件也没多少个,而且那些md早就被我放在坚果与里同步了。手机上我也可以继续用发Firefox的插件来阅读,但相对于坚果云的Markdown编辑器来说,那个东西有点卡顿,所以我放弃了。

如果kindle自己原生就支md的阅读,那该多好。作为电子书的阅读器,其实他们应该支持。

2020-04
2

学习思路

By xrspook @ 10:39:47 归类于: 烂日记

昨天因为网速不好,所以晚上我开始看某本叫做Think Python的书。那本书有免费的电子版,但是也已经被O’ Reilly出版了.如果在亚马逊上买,需要接近20美金。为什么明明不用钱就能看电子版的书要给钱呢?其实在看这本书之前,我已经见过非常多O’ Reilly的书了。我感觉他们出的书都是某个体系里面的大头,不是一般的有名,但是好不好学又是另外一回事。我还记得大四的时候,晚上我要在实验室里独自通宵度过生死时速33,那时我带了一本O’ Reilly的犀牛过去看(学校图书馆借的)。那本是JavaScript的书是中文版的,但看得我太郁闷了,因为翻译的简直牛头不对马嘴,感觉根本不是人肉翻译的。又过了好多年我才看到评论叫大家千万不要买那本犀牛!JavaScript这个东西可以这么说,我完全没学好。甚至可以说不知道自己学了些什么。之所以大四的时候要学习JavaScript,是因为我想做某些网页特效。一般的网页用HTML跟CSS就可以了,但是一些炫酷的东西就必须掌握JavaScript,这包括一些动画效果。现在大不一样了,绝大多数浏览器都已经兼容了HTML5,所以一些对从前来说需要一大段话的东西现在两句话就搞定了。以前我总在BlogBus的网页里放不少JavaScript,有可能是网站统计的,也有可能是某些特效的,但当我开始用WordPress以后,我很少用那个东西了,我尽量地让网页上的JavaScript瘦身到极点,但是还是会有些东西是我控制不了的。比如说WordPress自带的,虽然我没有写上去,但是后台会在生成我的网页的时候加不少东西,我一点办法都没有。除非我的后台不用WordPress,我才能做到我想要的那种纯净,但显然现在我没有那么强大。或许某一天我把整个网站静态下来了,我就可以这么干了。

回到Think Python这本书。第一章的一开头,他们就说到了计算机科学家。之前我好像没听说过这种说法。他们是这样给计算机科学家定义的:

计算机科学家像数学家一样,使用规范的语言来阐述思想(尤其是一些计算);像工程师一样设计、组装系统,并且在多重选择中寻找最优解;像自然科学家一样观察复杂系统的行为模式,建立猜想,测试预估的结果。计算机科学家唯一最重要的技能就是『解决问题』。解决问题意味着要有能力把问题进行方程化,创造性地考虑解决思路,并且清晰又精确地表达出解决方案。

所以他们必备清晰的思路。以及非常有条理的逻辑。把大问题拆分为小问题,然后逐个击破。我已经活了34年多,看到计算机科学家这个定义以后,我才发现原来自己就是这种人。还记得从前大学的时候,专业课老师给我们解释过科学与技术到底是什么东西。科学就是研究一些比较抽象的概念。而技术是解决一些实际的问题。我属于那种二者兼有之的类型,一方面我对未知的世界充满好奇心,但另一方面,在解决具体问题的时候我会非常带劲。工作了10年有余以后,我觉得其实科学与技术这两种东西并不是从前老师定义上的那么黑白分明。科学你要深入进去,你就必须用技术探索,而技术之所以存在,就是为了要解决一些人类未知,但又很想知道的东西。

我不知道其他人学习编程是为了什么,但我知道,我学习编程是因为我想实现一些我想做到的事。此刻,我只是想做到一些我想做到的,或许在以后,我会把这变成是别人很希望我能帮他们做到的。

2020-04
1

微软的世界

By xrspook @ 10:29:30 归类于: 烂日记

前天晚上不知道为什么,回宿舍以后我就非常想在自己的笔记本上装一个VSCode和一个Python。为什么有这么迫切的需求?我也搞不懂。但是我就想自己的设备上都配置这些东西,因为我说不准自己什么时候发起疯需要使用,就像我在所有自己的电脑上都装上了Office 365一样。

从昨天开始,Office 365得要改名了,因为Office 365再也不叫这个名字了,以后叫做Microsoft 365。为什么会以老大哥冠名,我不知道,虽然换了个名字,但现在的售价还是一样的。而对我来说,好久都不需要考虑价格环节。因为我的个人版估计还有两年半的使用时间。我是Microsoft 365个人版的用户,但问题是我的三台电脑只有其中一台是用Win10的,其余两台都是Win7,这就意味着那两台台式机除了一些最基本的安全更新以外,没办法使用365的新功能。我不知道微软这是怎么想的,电脑没有坏,难道你叫我那丢掉吗?就一般的操作而言,那些电脑是没有任何问题的,不过是老一点,CPU慢一点,硬盘不是固态,内存小一点而已。这些老电脑如果装上Win10,那是几乎可以说必死无疑的节奏,但是不装上Win10又用不了我应该能实现的东西。他们为了卖软件,真的什么都想出来了。最让我觉得无语的是,过一段时间,Win10就会爆出一些让人傻眼的bug,之前这些东西貌似没在XP或者Win7里出现,但是Win10却会屡屡发生。当然这种事我也可以理解,比如说使用有x结尾的office文件时经常会发生这样那样的问题。老版本的office文件不会有这种问题,无论是老版本保存的最经典版本,又或者是二进制版本,都不会有那种问题。有x的office文件我个人觉得简直可以称为悲剧中的战斗机,但偏偏这是现在office软件默认的文件格式。大家使用的时候遇到麻烦就像某次更新了Win10以后又出现什么惊人的bug一样,虽然很无奈,但又无可奈何。对用户来说,有些问题甚至可以称之为弱智,但或许对工程师来说,是因为他们用了某些新技术发生了一些完全在他们意料之外的事。

回到前天晚上我在笔记本上装那两个我觉得很简单的东西,但其实过程这一点都不简单。安装VSCode还简单一点,安装Python实在太难为人了!不就是个跨平台的编程软件而已,居然被墙了,又或者说不是被墙了,但就是上去很困难。刷新无数次都打不开,后来我甚至觉得不如在国内某个软件网站下载算了,但是看到满屏的广告,以及乱七八糟说得很牛逼的介绍,我还是乖乖地继续默默刷官网的下载页面。最后还真的被我打开了,虽然下载速度让人很无语。两个软件都下载完,安装完毕,并设置好环境以后。我随手写了个只有一行print脚本,接着我发现在Win10里的VSCode下在软件里的终端运行时运行不了。仔细看一下,原来Win10系统下VSCode默认的终端是PowerShell而不是我平时看到的CMD。PowerShell是不是就是CMD呢?我不知道,但是通过Windows的搜索,输入CMD的确可以到达平时我见到的命令行,我觉得PowerShell和CMD是两种东西,因为PowerShell虽然也是黑屏,准确来说应该是蓝屏,那里的字体和背景都是有颜色的,但是在传统的CMD里只有黑色和白色。凭着这个,我自觉认为它们是两回事。后来也的确证明了我这个猜想。但无论我怎么努力,我都没办法在PowerShell的终端里运行py文件,所以我只能很弱智地把VSCode里面的默认终端重新设定回CMD。

昨天我发现原来Win7系统也有PowerShell,但那是2.0版本,几乎就是个鸡肋,可以忽略不计,所以在Win7下VSCode的默认终端是CMD。我尝试在Win7里安装PS 5.1,一番挣扎后依然失败告终。5.1标配的是NET4.5,但现在我都用到4.8了,我怎么可能会滚回去,虽然安装那里的要求是4.5+,但这个“+”有时很暧昧。装不了WMF5.1就没办法让Win7拥有PS 5.1,我尽力了,但真心没办法。现在我也没有非装PS 5.1不可的需求。

微软的世界有时真的挺无理的。

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