Pulpcode

捕获,搅碎,拼接,吞咽

0%

最近使用vs2012开发程序,在vs中有”清理”,”生成”和”重新生成”这几个选项。

生成和重新生成

我回想到当年学的make,这些用来构建代码的工具,大多都是类似的操作,vs的清理就和make中的clean一样。类似的,重新生成就像是先清理再生成。
而生成的规则也是类似的:看源文件是否修改,如果修改那么就需要生成目标文件。

问题就是,有多少错误的原因来源于没有生成?很多人不管何时,清理生成的挨个点过来。不爽的还会清理+重新生成。要知道,大多数情况,我们是没有必要重新生成的,因为系统会给据源文件是否修改,自行判断。
而且,重新生成就是清理+生成。

阅读全文 »

最近写程序读取Excel中的数据,在读取时间的时候没有获得时间,而是一个很大的float数据

比如1986-10-25这个日期,获取之后是31710这个数字,一开始我以为是从1970年1月1日开始的(计算机的日期就是从这一天开始算的),但是从1970年到即使到今天也不可能加出这么大的数字的。

这个日期不是从1970年开始的,而是从1900年1月1日开始的,也就是20世纪的第一天。

很多万年历,就是从1900年开始算起的。

问题: 1.描述下列表达式求值之后的结果:

1
2
3
4
5
6
7
8
;; (a)
(+ (- 5 1) (+ 3 7))
;; (b)
(list 1 (+ 2 3))
;; (c)
(if (listp 1) (+ 1 2) (+ 3 4))
;; (d)
(list (and (listp 3) t) (+ 1 2))
阅读全文 »

今天在整理书柜的时候,发现了自己初中收集的好几本《可怕的科学》系列丛书。

我记忆犹新的是其中一本关于几何的书上,介绍了一种求证毕达哥拉斯定理(勾股定理)的方法,仅仅使用初中的数学知识。
这么多年一直没忘,今天就为大家show一下。

勾股定理:a^2 + b^2 = c^2

证明其实不长,而且也简单,如果你能耐心看下去,会发现很有意思。

pythagoras

首先我们先对一个直角三角形的每一个边都做一个正方形。
你应该已经发现,我们只要证明两个直角边的正方形面积之和等于斜边正方形面积就行了。

阅读全文 »

今天有一个朋友问我,是否在更新一个py文件的时候,pyc文件也会跟着更新。

这其实是一个很有趣的问题。

我们来做个实验就知道了,首先我来写这样两段代码:

foo.py 文件
1
2
3
# -*- coding: utf-8 -*-
def echo():
return "hehe"
阅读全文 »

今天有一个同事给我出了一个这样的问题:

你如何把list of list 变成list 比如[[1,2],[3]] --> [1,2,3]

程序的目的就是将一个递归的列表转化为一个普通的”单”列表

本来这个程序是可以使用一个简单的方法来实现的:

先定义一个全局的列表,然后遍历列表中的元素,如果是元素就加入到全局列表,
但如果是列表,那就用递归或是迭代的方式继续遍历它。

阅读全文 »