首页 > 编程 > Python > 正文

搞笑的程序猿:看看你是哪种Python程序员

2020-02-23 01:34:37
字体:
来源:转载
供稿:网友

不久前,在互联网上出现了一篇有趣的文章,讲的是对于同一个问题,不同层次的Python程序员编出的Python代码,显示出了不同的风格,代码都很简单,有趣。下面让我们一起来看看一个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:      resultresult = result * i      ii = 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) 

懒惰的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专家

fact = lambda x: reduce(int.__mul__, xrange(2, x + 1), 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)) + '/n') //一般人压根看不懂。 

专家级程序员

from c_math import fact  print fact(6)  

大英帝国程序员

from c_maths import fact  print fact(6)  Web设计人员def factorial(x):    #-------------------------------------------------    #--- Code snippet from The Math Vault     ---    #--- Calculate factorial (C) Arthur Smith 1999 ---    #-------------------------------------------------    result = str(1)    i = 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)      i = i + 1    return result  print factorial(6) 

Unix 程序员

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

Windows 程序员

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) //可能自己都晕菜了...            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表