Python程序员的进化史

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

各种程序员所写的阶乘算法代码

# -*- coding: utf-8 -*-

#新手程序员(递归)

def factorial(x):

if x == 0:

return 1

else:

return x * factorial(x - 1)

PRint factorial(6)

#有一年 Python 经验的程序员

def Factorial(x):

res = 1

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

res *= i

return res

print Factorial(6)

#懒惰的 Python 程序员

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 程序员

importOperator as op

import functional as f

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

print fact(6)

#Python 黑客

import sys

def fact(x, acc = 1):

if x: return fact(x.__sub__(1), acc.mul__(x))

return acc

sys.stdout.write(str(fact(6)) + '\n')

#专家级程序员

imort c_math

fact = c_math.fact

print fact(6)

#有一年 C 经验的程序员

def fact(x):

result = i = 1;

while (i <= x):

result *= i;

i += 1;

return result;

print(fact(6))

本人是一名 Python 新手 ,在网上看到这篇文章觉得很有趣, 所以想在博客园重写一遍。

一方面提升下自己的 Python水平 , 另一方面也可以与更多的 Python 爱好者 学习 分享。

人生苦短 我用Python QAQ

这里是更为完整的原文地址: http://python.jobbole.com/15005/

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航