您的位置:首页 > 编程语言 > Python开发

PYTHON程序员的进化

2018-03-08 22:47 399 查看
新手程序员
123456
def
 
factorial(x):
if
 
=
=
 
0
:
return
 
1
else
:
return
 
*
 
factorial(x 
-
 
1
)
print
 
factorial(
6
)

第一年的刚学完Pascal的新手

12345678
def
 
factorial(x):
result 
=
 
1
=
 
2
while
 
i <
=
 
x:
result 
=
 
result 
*
 
i
=
 
+
 
1
return
 
result
print
 
factorial(
6
)

第一年的刚学完C语言的新手

123456789
def
 
fact(x): 
#{
result 
=
 
=
 
1
;
while
 
(i <
=
 
x): 
#{
result 
*
=
 
i;
+
=
 
1
;
#}
return
 
result;
#}
print
(fact(
6
))

第一年刚学完SICP的新手

12345
@tailcall
def
 
fact(x, acc
=
1
):
if
 
(x > 
1
): 
return
 
(fact((x 
-
 
1
), (acc 
*
 
x)))
else
return
 
acc
print
(fact(
6
))

第一年刚学完Python的新手

123456
def
 
Factorial(x):
res 
=
 
1
for
 
in
 
xrange
(
2
, x 
+
 
1
):
res 
*
=
 
i
return
 
res
print
 
Factorial(
6
)

爱偷懒的程序员

123
def
 
fact(x):
return
 
x > 
1
 
and
 
*
 
fact(x 
-
 
1
or
 
1
print
 
fact(
6
)

更懒的 Python 程序员

12
=
 
lambda
 
x: x 
and
 
*
 
f(x 
-
 
1
or
 
1
print
 
f(
6
)

Python 专家

1234
import
 
operator as op
import
 
functional as f
fact 
=
 
lambda
 
x: f.foldl(op.mul, 
1
xrange
(
2
, x 
+
 
1
))
print
 
fact(
6
)

插播福利

1.近期整理了20G资源,包含产品/运营/测试/程序员/市场等,互联网从业者【工作必备干货技巧、行业专业书籍、面试真题宝典等】,获取方式:
微信扫码关注公众号“非典型互联网”,转发文章到朋友圈,截图发至公众号后台,即可获取干货资源链接;

2.互联网人交流群:
关注公众号“非典型互联网”,在公众号后台回复“入群”,人脉共享,一起交流;



Python 黑客

123456
import
 
sys
@tailcall
def
 
fact(x, acc
=
1
):
if
 
x: 
return
 
fact(x.__sub__(
1
), acc.__mul__(x))
return
 
acc
sys.stdout.write(
str
(fact(
6
)) 
+
 
'\n'
)

专家级程序员

123
import
 
c_math
fact 
=
 
c_math.fact
print
 
fact(
6
)

英语系的专家级程序员

123
import
 
c_maths
fact 
=
 
c_maths.fact
print
 
fact(
6
)

Web 设计者

12345678910111213141516
def
 
factorial(x):
#-------------------------------------------------
#--- Code snippet from The Math Vault ---
#--- Calculate factorial (C) Arthur Smith 1999 ---
#-------------------------------------------------
result 
=
 
str
(
1
)
=
 
1
 
#Thanks Adam
while
 
i <
=
 
x:
#result = result * i #It's faster to use *=
#result = str(result * result + i)
#result = int(result *= i) #??????
result 
str
(
int
(result) 
*
 
i)
#result = int(str(result) * i)
=
 
+
 
1
return
 
result
print
 
factorial(
6
)

Unix 程序员

1234
import
 
os
def
 
fact(x):
os.system(
'factorial '
 
+
 
str
(x))
fact(
6
)

Windows 程序员

123456789101112131415161718
NULL 
=
 
None
def
 
CalculateAndPrintFactorialEx(dwNumber,
hOutputDevice,
lpLparam,
lpWparam,
lpsscSecurity,
*
dwReserved):
if
 
lpsscSecurity !
=
 
NULL:
return
 
NULL 
#Not implemented
dwResult 
=
 
dwCounter 
=
 
1
while
 
dwCounter <
=
 
dwNumber:
dwResult 
*
=
 
dwCounter
dwCounter 
+
=
 
1
hOutputDevice.write(
str
(dwResult))
hOutputDevice.write(
'\n'
)
return
 
1
import
 
sys
CalculateAndPrintFactorialEx(
6
, sys.stdout, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)

公司里的程序员

1234567891011121314151617181920212223242526272829303132333435363738394041424344
def
 
new(
cls
*
args, 
*
*
kwargs):
return
 
cls
(
*
args, 
*
*
kwargs)
class
 
Number(
object
):
pass
class
 
IntegralNumber(
int
, Number):
def
 
toInt(
self
):
return
 
new (
int
self
)
class
 
InternalBase(
object
):
def
 
__init__(
self
, base):
self
.base 
=
 
base.toInt()
def
 
getBase(
self
):
return
 
new (IntegralNumber, 
self
.base)
class
 
MathematicsSystem(
object
):
def
 
__init__(
self
, ibase):
Abstract
@
classmethod
def
 
getInstance(
cls
, ibase):
try
:
cls
.__instance
except
 
AttributeError:
cls
.__instance 
=
 
new (
cls
, ibase)
return
 
cls
.__instance
class
 
StandardMathematicsSystem(MathematicsSystem):
def
 
__init__(
self
, ibase):
if
 
ibase.getBase() !
=
 
new (IntegralNumber, 
2
):
raise
 
NotImplementedError
self
.base 
=
 
ibase.getBase()
def
 
calculateFactorial(
self
, target):
result 
=
 
new (IntegralNumber, 
1
)
=
 
new (IntegralNumber, 
2
)
while
 
i <
=
 
target:
result 
=
 
result 
*
 
i
=
 
+
 
new (IntegralNumber, 
1
)
return
 
result
print
 
StandardMathematicsSystem.getInstance(new (InternalBase, new (IntegralNumber, 
2
))).calculateFactorial(new (IntegralNumber, 
6
))
摘自:来源作者:陈皓,博客地址:https://coolshell.cn/articles/18190.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: