美文网首页Python交流学习
程序员的进化,Python程序员是最大的亮点!

程序员的进化,Python程序员是最大的亮点!

作者: 慌翯 | 来源:发表于2019-05-20 16:31 被阅读15次

以前发布过一篇《程序员的进化》,以一种幽默的代码展现方式调侃了程序。下面这篇是关于Python程序员的。以阶乘为例,很有意思

新手程序员

def factorial(x):

if x == 0:

return 1

else:

return x * factorial(x - 1)

print factorial(6)

第一年刚学完Pascal的新手

def factorial(x):

result = 1

i = 2

while i <= x:

result = result * i

i = i + 1

return result

print factorial(6)

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

def fact(x): #{

result = i = 1;

while (i <= x): #{

result *= i;

i += 1;

#}

return result;

#}

print(fact(6))

第一年刚学完SICP的新手

@tailcall

def fact(x, acc=1):

if (x > 1): return (fact((x - 1), (acc * x)))

else: return acc

print(fact(6))

第一年刚学完Python的新手

def Factorial(x):

res = 1

for i in xrange(2, x + 1):

res *= i

return res

print Factorial(6)

爱偷懒的程序员

def fact(x):

return x > 1 and x * fact(x - 1) or 1

print fact(6)

更懒的 Python 程序员

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

print f(6)

Python 专家

import operator as op

import functional as f

fact = lambda x: f.foldl(op.mul, 1, xrange(2, x + 1))

print fact(6)

Python 黑客

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)) + '

')

专家级程序员

import c_math

fact = c_math.fact

print fact(6)

英语系的专家级程序员

import c_maths

fact = c_maths.fact

print fact(6)

学习从来不是一个人的事情,要有个相互监督的伙伴,工作需要学习python或者为了入行、转行学习python的伙伴可以私信回复小编“学习”,资源共享和大牛面对面交流

相关文章

网友评论

    本文标题:程序员的进化,Python程序员是最大的亮点!

    本文链接:https://www.haomeiwen.com/subject/hrokzqtx.html