香港云主机最佳企业级服务商!

ADSL拨号VPS包含了中国大陆(联通,移动,电信,)

中国香港,国外拨号VPS。

当前位置:云主机 > python >

电信ADSL拨号VPS
联通ADSL拨号VPS
移动ADSL拨号VPS

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


时间:2021-12-08 14:52 作者:admin610456


不久前,在互联网上出现了一篇有趣的文章,讲的是对于同一个问题,不同层次的python/' target='_blank'>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) //可能自己都晕菜了...

企业级程序员

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)      i = new (IntegralNumber, 2)      while i <= target:        result = result * i        i = i + new (IntegralNumber, 1)      return result     print StandardMathematicsSystem.getInstance(new (InternalBase,  new (IntegralNumber, 2))).calculateFactorial(new (IntegralNumber, 6)) //面向对象,但就此题来说,又长又臭。 

(责任编辑:admin)






帮助中心
会员注册
找回密码
新闻中心
快捷通道
域名登录面板
虚机登录面板
云主机登录面板
关于我们
关于我们
联系我们
联系方式

售前咨询:17830004266(重庆移动)

企业QQ:383546523

《中华人民共和国工业和信息化部》 编号:ICP备00012341号

Copyright © 2002 -2018 香港云主机 版权所有
声明:香港云主机品牌标志、品牌吉祥物均已注册商标,版权所有,窃用必究

云官方微信

在线客服

  • 企业QQ: 点击这里给我发消息
  • 技术支持:383546523

  • 公司总台电话:17830004266(重庆移动)
  • 售前咨询热线:17830004266(重庆移动)