首页 > 编程语言 > 详细

Python程序员的进化史

时间:2015-03-24 12:36:27      阅读:194      评论:0      收藏:0      [点我收藏+]

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

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

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

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/

 

Python程序员的进化史

原文:http://www.cnblogs.com/xautxuqiang/p/4362074.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!