Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >看看你是哪种级别的Python程序员(已跪)

看看你是哪种级别的Python程序员(已跪)

作者头像
量化投资与机器学习微信公众号
发布于 2018-01-29 10:28:41
发布于 2018-01-29 10:28:41
1.7K00
代码可运行
举报
运行总次数:0
代码可运行

同一个问题

不同层次的Python程序员

编出的Python代码

编程新手

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def factorial(x):  
  if x == 0:  
    return 1 
  else:  
    return x * factorial(x - 1) 
print factorial(6)

一年编程经验(学Pascal的)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def factorial(x):  
  result = 1 
  i = 2 
  while i <= x:  
    resultresult = result * i  
    ii = i + 1 
  return result  print factorial(6)

一年编程经验(学C的)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def fact(x): #{  
  result = i = 1;  
  while (i <= x): #{  
    result *= i;  
    i += 1;  
  #}  
  return result;  #}  print(fact(6))

一年编程经验(读过SICP)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@tailcall def fact(x, acc=1):  
  if (x > 1):  
    return (fact((x - 1), (acc * x)))  
  else:     
    return acc  
print(fact(6))

一年编程经验(Python)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def Factorial(x):  
  res = 1 
  for i in xrange(2, x + 1):  
    res *= i  
    return res   print Factorial(6)

懒惰的Python程序员

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def fact(x):  
  return x > 1 and x * fact(x - 1) or 1 print fact(6)

更懒的Python程序员

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
f = lambda x: x and x * f(x - 1) or 1 //匿名函数 
print f(6)

Python专家

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fact = lambda x: reduce(int.__mul__, xrange(2, x + 1), 1)  print fact(6)

Python黑客

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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')
 一般人压根看不懂

专家级程序员

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from c_math import fact  print fact(6)

大英帝国程序员

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from c_maths import fact  print fact(6)  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 程序员

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import os  def fact(x):  
  os.system('factorial ' + str(x))  
fact(6)

Windows 程序员

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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) 可能自己都晕菜了...

企业级程序员

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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))
 面向对象,但就此题来说,又长又臭。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-08-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量化投资与机器学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
程序员的进化
程序员的进化   不久前,在互联网上出现了一篇有趣的文章,讲的是对于同一个问题,不同层次的程序员编出的Python代码显示出了不同的风格,代码都很简单,有趣。我把它整理了一下,并修改了几处错误。 编程新手 def factorial(x): if x == 0: return 1 else: return x * factorial(x - 1) print factorial(6) 一年编程经验(学Pascal的) def factorial(x):
用户1289394
2018/02/27
7770
高级程序员进化史
https://github.com/SuperPaintman/the-evolution-of-a-go-programmer
逆锋起笔
2021/05/18
3670
高级程序员进化史
Go程序员进化史
“写 n! 的若干种进化(退化)史 初级程序员 package fac func Factorial(n int) int { res := 1 for i := 1; i <= n; i++ { res *= i } return res } 学了递归的程序员 package fac func Factorial(n int) int { if n == 0 { return 1 } else { return Factorial(n - 1) * n } }
薯条的编程修养
2022/08/10
2450
Go程序员进化史
Python中的栈溢出及解决办法
1.递归函数 在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。 举个例子,我们来计算阶乘n! = 1 x 2 x 3 x ... x n,用函数fact(n)表示,可以看出: fact(n) = n! = 1 x 2 x 3 x ... x (n-1) x n = (n-1)! x n = fact(n-1) x n 所以,fact(n)可以表示为n x fact(n-1),只有n=1时需要特殊处理。 于是,fact(n)用递归的方式写出来就是: def fact(n):
用户1214487
2018/03/28
1.6K0
Python基础学习笔记
---------2018.1.24------------ round是向上取整,引用方式为round(number[,ndigits]) 而floor是向下取整,floor函数通过import math导入,引用方式为math.floor(number) str函数,它会把值转换成合理形式的字符串,函数原型为str(object)//字符串要用双引 号引起来,数字不需要 repr函数,它会创建一个字符串.以合法的Python表达式的形式来表示值,函数原型为repr (object) 如果你希望打印一
Angel_Kitty
2018/04/08
1.3K0
JavaScript常用的工具函数,不全面大家补充哦
JavaScript ( JS ) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web 页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中等等。
苏州程序大白
2021/12/15
3610
JavaScript常用的工具函数,不全面大家补充哦
python 函数
None <code object tag at 0x000001902D2EA1E0, file "D:/file/python/today/today.py", line 1> ('name', 'cls', 'content', 'attrs') 1
用户5760343
2019/08/02
8460
关于JavaScript常用的工具函数汇总
前言 随着开发经验的积累,很多人会有自己的常用站点,一些网址收藏,自己造的轮子或者别人的轮子,工具函数库等等。 这里提供一些常用的工具函数,如果你也有一些觉得挺不错的库,欢迎在下方评论💓。 格式化时间戳 export function formatDateTimeStamp(date, fmt) { // 格式化时间戳 : formatDateTimeStamp(new Date(time),'yyyy-MM-dd hh:mm:ss') if (/(y+)/.test(fmt)) {
唐志远
2022/10/27
5720
流畅的Python 5. 函数
文章目录 1. 函数对象 2. 高阶函数 3. 匿名函数 4. 可调用函数 5. 定位参数、仅限关键字参数 6. 获取参数信息 7. 函数注解 8. 支持函数式编程的包 1. 函数对象 def factorial(n): ''' returns n! n的阶乘 ''' return 1 if n < 2 else n * factorial(n - 1) print(factorial(42)) print(factorial.__doc__) # returns n
Michael阿明
2021/09/06
3200
爆肝 50 道 Python 面试题 (上)
上面代码中a is b的结果是True但c is d的结果是False,这一点的确让人费解。CPython解释器出于性能优化的考虑,把频繁使用的整数对象用一个叫small_ints的对象池缓存起来造成的。small_ints缓存的整数值被设定为[-5, 256]这个区间,也就是说,在任何引用这些整数的地方,都不需要重新创建int对象,而是直接引用缓存池中的对象。如果整数不在该范围内,那么即便两个整数的值相同,它们也是不同的对象。
数据STUDIO
2022/04/08
8110
【Python】Python核心编程
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
用户7886150
2020/12/29
1.2K0
python3--面向对象进阶之内置方法
print执行时,是去内部寻找__str__方法,所以print没有输出不了的数据,因为每一个对象都有__str__方法
py3study
2018/08/02
4940
一步步打造自己的linux命令行计算器
相信很多人,在工作中会需要使用到计算器。一般的做法是,打开并使用系统自带的计算器。
zqb_all
2019/12/27
1K0
Python中的魔法方法
python中的魔法方法是一些可以让你对类添加“魔法”的特殊方法,它们经常是两个下划线包围来命名的
deephub
2023/02/01
4930
RuntimeError: Maximum Recursion Depth Exceeded - 递归深度超限的完美解决方案
大家好,我是默语,擅长全栈开发、运维和人工智能技术。在日常编程中,我们可能会遇到 RuntimeError: maximum recursion depth exceeded 这样棘手的问题。这一错误通常与递归调用次数过多有关,在Python等语言中尤为常见。本文将深入剖析这一问题的根源,提供全面的解决方案,并探讨如何优化递归代码,避免陷入此类错误。我们还将分享一些最佳实践,帮助大家提升代码的效率和安全性。
默 语
2024/11/22
4750
超详细1小时学会Python
本文适合有经验的程序员尽快进入Python世界.特别地,如果你掌握Java和Javascript,不用1小时你就可以用Python快速流畅地写有用的Python程序.
奈何缘浅wyj
2021/03/19
5920
超详细1小时学会Python
推荐 8 个炫酷的 Python 装饰器!
Python 编程语言的一大优点是它把所有功能都打包到一个小包中,这些功能非常有用。
Python编程与实战
2021/10/12
1.4K0
面向对象:反射,双下方法
反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力(自省)。这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩。
changxin7
2019/08/14
6130
用数据分析来看哪种 Python 程序员最赚钱?
本文以Python爬虫、数据分析、后端、数据挖掘、全栈开发、运维开发、高级开发工程师、大数据、机器学习、架构师这10个岗位,从拉勾网上爬取了相应的职位信息和任职要求,并通过数据分析可视化,直观地展示了这10个职位的平均薪资和学历、工作经验要求。
sergiojune
2018/10/23
1K0
用数据分析来看哪种 Python 程序员最赚钱?
@程序员:Python 3.8正式发布,重要新功能都在这里
【导读】最新版本的Python发布了!今年夏天,Python 3.8发布beta版本,但在2019年10月14日,第一个正式版本已准备就绪。现在,我们都可以开始使用新功能并从最新改进中受益。
AI科技大本营
2019/10/21
2.5K0
@程序员:Python 3.8正式发布,重要新功能都在这里
相关推荐
程序员的进化
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验