Contents
一段Py脚本的进化
Heroboy <[email protected]> sender-time Sent at 15:57 (GMT+08:00). Current time there: 9:05 PM. ✆ reply-to [email protected] to [email protected] date Sat, Jan 30, 2010 at 15:57 subject [CPyUG] Evolution of a Python programmer.py
Newbie
studied Pascal
studied C
SCIP
Python
== Lazy Py ==
Lazier
expert Py
hacker
EXPERT PROGRAMMER
ENGLISH EXPERT PROGRAMMER
Web designer
1 def factorial(x):
2 #-------------------------------------------------
3 #--- Code snippet from The Math Vault ---
4 #--- Calculate factorial (C) Arthur Smith 1999 ---
5 #-------------------------------------------------
6 result = str(1)
7 i = 1 #Thanks Adam
8 while i <= x:
9 #result = result * i #It's faster to use *=
10 #result = str(result * result + i)
11 #result = int(result *= i) #??????
12 result str(int(result) * i)
13 #result = int(str(result) * i)
14 i = i + 1
15 return result
16 print factorial(6)
Unix programmer
Windows programmer
1 NULL = None
2 def CalculateAndPrintFactorialEx(dwNumber,
3 hOutputDevice,
4 lpLparam,
5 lpWparam,
6 lpsscSecurity,
7 *dwReserved):
8 if lpsscSecurity != NULL:
9 return NULL #Not implemented
10 dwResult = dwCounter = 1
11 while dwCounter <= dwNumber:
12 dwResult *= dwCounter
13 dwCounter += 1
14 hOutputDevice.write(str(dwResult))
15 hOutputDevice.write('\n')
16 return 1
17 import sys
18 CalculateAndPrintFactorialEx(6, sys.stdout, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)
Enterprise programmer
1 def new(cls, *args, **kwargs):
2 return cls(*args, **kwargs)
3
4 class Number(object):
5 pass
6
7 class IntegralNumber(int, Number):
8 def toInt(self):
9 return new (int, self)
10
11 class InternalBase(object):
12 def __init__(self, base):
13 self.base = base.toInt()
14
15 def getBase(self):
16 return new (IntegralNumber, self.base)
17
18 class MathematicsSystem(object):
19 def __init__(self, ibase):
20 Abstract
21
22 @classmethod
23 def getInstance(cls, ibase):
24 try:
25 cls.__instance
26 except AttributeError:
27 cls.__instance = new (cls, ibase)
28 return cls.__instance
29
30 class StandardMathematicsSystem(MathematicsSystem):
31 def __init__(self, ibase):
32 if ibase.getBase() != new (IntegralNumber, 2):
33 raise NotImplementedError
34 self.base = ibase.getBase()
35
36 def calculateFactorial(self, target):
37 result = new (IntegralNumber, 1)
38 i = new (IntegralNumber, 2)
39 while i <= target:
40 result = result * i
41 i = i + new (IntegralNumber, 1)
42 return result
43
44 print StandardMathematicsSystem.getInstance(new (InternalBase, new (IntegralNumber, 2))).calculateFactorial(new (IntegralNumber, 6))
机械唯物主义
{{{机械唯物主义 <[email protected]> sender-time Sent at 21:05 (GMT+08:00). Current time there: 9:16 PM. ✆ reply-to [email protected] to [email protected] date Sat, Jan 30, 2010 at 21:05 }}} 这个讽刺的东西可真多。。。
我的版本:
反馈
创建 by -- ZoomQuiet [2010-01-30 13:10:49]