这两天时间比较充裕,可以有比较长的连续时间集中精神,我用来学Python了。
有C++、Perl、Bash和PHP的基础,要入门其实并不太难。
没有关注太多的细节,套用很远古一句话,语言是用来写程序的,不是用来理解的。(粗体部分请用适当的词替换)
的确很方便,而且比Perl要容易,很多。
不过似乎Python不支持++运算符,无语。
另外,Python3和Python2不完全兼容,但对我是没有丝毫影响的:)
我主要的学习资料是网上的两个教程:
都写得很好,如果是有其他语言的基础,看过应该就可以了解Python的基本用法了。
至于进一步的参考,找到了《Dive Into Python》的中文版,已经下载,作为工具书翻阅:)
趁着还记得一点,把前两天那个进化论中的概率论用Python重写了一次。
当然,结果一样,因为这个问题的数学期望是有理论保证的。
#!/usr/bin/python import os import random RandomCount=0; GenerateCount=0; Target = list("tobeornottobe"); def getRandomChar(): global RandomCount; RandomCount = RandomCount+1; return random.choice("abcdefghijklmnopqrstuvwxyz"); def compareList(list1, list2): if( len(list1) != len(list2) ): raise Exception; DifferentCount = 0; for i in range(len(list2)): if( list1[i] == list2[i] ): continue; else: DifferentCount = DifferentCount+1; return DifferentCount; def generateRandomList(now, target): global GenerateCount; GenerateCount = GenerateCount + 1; result = []; for i in range(len(target)): if( now[i] != target[i] ): result.append( getRandomChar() ); if( result[i] == target[i] ): now[i] = target[i]; else: result.append( ' ' ); return result; # print result; Now = list(" " * len(Target)); while compareList(Now, Target) != 0: Result = generateRandomList(Now, Target); print "%6d" % GenerateCount, "|", "".join(Now), "|", "".join(Result); print "RandomCount: ", RandomCount;
最近评论