摘要:
vbs注册表增删改非常简单.过去竟然能忍受那么多次手动在注册表编辑器操作...应该认真反思自己的懒惰了.Dim opSet op=WScript.CreateObject("WScript.Shell")' 读:op.RegRead("HKCR\.xxf\value")' 删:op.RegDelete("HKCR\.xxf\value")dim path path="HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MAO Settings\Addo 阅读全文
摘要:
比如下面这个简单明了的命令式程序,它不断捕捉用户输入的内容,然后对其求和.直到用户输入一个以'0'开头的字符串,停止捕捉.while 1: line = input() if line[:1]!='0': print(sum(map(int,line.split()))) else: break那么,能不能不用while和if这些控制流语句,用纯函数式编程一句搞定呢?能.(lambda f:f(f))((lambda f:(lambda line:(line[:1]!='0' and print(sum(map(int,line.split()) 阅读全文
摘要:
>>> arr=[4, 4, 9, 7, 7]>>> for i,a in enumerate(arr): arr.pop(i) print(i,a) 40 491 972 7>>> arr=[4, 4, 9, 7, 7]>>> for i,a in enumerate(arr): arr.pop(i) print(a) 449977>>> 阅读全文
摘要:
它可以很简单地构造一个无限迭代器:for i in iter(int, 1): print(i)#将无限打印出0原来,如果iter有第二个参数,那么第一个参数必须是一个参数可以省略的可调用对象.int函数符合这种要求.迭代什么时候停止呢?当int()==1的时候就停止.显然这是不可能的,所以就无限迭代了.官方文档定义:iter(object[, sentinel])Return an iterator object. The first argument is interpreted very differently depending on the presence of the se... 阅读全文
摘要:
def xwhile_stacks(n): stacks = [(0,n,None,None,)] while stacks: stg,n,possible,choice=stacks.pop() if stg==0: if n==1: res = 1,0 else: stacks.append((1,n,[],n-1)) stacks.append((0,1,None,None)) else: ... 阅读全文
摘要:
记住经典的斐波拉契递归和阶乘递归转换为while规律.它为实现更复杂转换提供了启发性思路.# 斐波拉契--树形递归def fab(n): if n<3: return n return fab(n-1)+fab(n-2)def wfab(n): stacks=[(0,... 阅读全文
摘要:
前段时间用类似于散弹式编程的方式,各种猜测-运行验证-修正结果,最终成功转换了一个看起来比较有难度的递归函数.但总觉得很蛋疼,原因如下:1.虽然正确,但是逻辑搞得比较复杂.现在去看,一头雾水,不知道当时是怎么想的,也没有任何欲望去理解.2.没有充分利用本地变量,而是保守地把当前栈的数据一股脑绑定到Stack对象上.3.我需要用一个Class来保存栈吗?是不是太重了?为什么不考虑用一个简单的tuple来实现呢?def recur(n): if n==1: return 1,0 return min([(2*recur(n-i)[0]+2**i-1,i) for i in... 阅读全文
摘要:
>>> def f(): return 2>>> -f()-2初一看,-f()比较陌生的样子,细想,这是合理的 阅读全文
摘要:
我发现当参数并不太多时,从性能的角度来看,没必要用一个class来保存参数(虽然看起来更加生动形象),直接用最简单的元组就可以了.from hanoi import *# example trees for test...trees=[]trees.append(None)trees.append([1,None,None])trees.append([1,None,[2,None,None]])trees.append([1,[3,[4,None,None],None],[600,None,None]])trees.append([1,[3,[4,None,None],[6,None,Non 阅读全文
摘要:
>>> qs=Question.objects.extra(select={'anum': 'SELECT COUNT(*) FROM questions_answer WHERE questions_answer.question_id = questions_question.id'},).extra(order_by=['-anum'])>>> [q.anum for q in qs][3, 3, 3, 3, 2, 2, 1, 1, 1, 0, 0, 0, 0]>>> qs2=Quest 阅读全文