- 浏览: 242103 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (127)
- vim (3)
- python (44)
- pymysql (1)
- mysql (9)
- macvim (1)
- erlang (3)
- twisted (0)
- tornado (5)
- django (7)
- postgresql (5)
- sql (1)
- java (7)
- tech (4)
- cache (1)
- lifestyle (3)
- html (1)
- ubuntu (2)
- rabbitmq (1)
- algorithm (8)
- Linux (4)
- Pythonista (1)
- thread (1)
- sort (6)
- 设计模式 (1)
- search (1)
- Unix (6)
- Socket (3)
- C (2)
- web (1)
- gc (1)
- php (10)
- macos (1)
最新评论
-
2057:
这个程序有bug。
查找算法学习之二分查找(Python版本)——BinarySearch -
dotjar:
NB
一个Python程序员的进化[转]
不久前,在互联网上出现了一篇有趣的文章,讲的是对于同一个问题,不同层次的Python程序员编出的Python代码显示出了不同的风格,代码都很简单,有趣。下面让我们一起来看看一个Python程序员是进阶的全过程。
AD:
不久前,在互联网上出现了一篇有趣的文章,讲的是对于同一个问题,不同层次的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))
AD:
不久前,在互联网上出现了一篇有趣的文章,讲的是对于同一个问题,不同层次的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))
发表评论
-
macos 10.9.2 clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command
2014-03-25 19:13 1728方法总是有的,当然需要你去寻找。 当然如果花费太多的时间在一件 ... -
PostgreSQL psycopg2:IndexError: tuple index out of range
2014-01-09 17:04 2192Postgresql psycopg2使用like查询的时候 ... -
Python 迭代器和生成器
2013-10-15 23:09 2813迭代器 迭代器只不过是一个实现迭代器协议的容器对象。它基于两个 ... -
Python时间模块
2013-10-15 23:03 3428time模块 时间模块中最常用的一个函数就是获取当前时间的函数 ... -
Python装饰器
2013-10-15 22:59 1513编写自定义装饰器有许多方法,但最简单和最容易理解的方法是编写一 ... -
python list
2013-10-15 22:56 1217简单总结以及整理如下: >>> dir( ... -
Python Excel
2013-09-10 17:21 934安装lib easy_install xlrd def ... -
排序算法学习(python版本)之堆排序(HeapSort)
2013-07-01 22:54 1962Contains: 堆排序以及堆排序的应用 堆排序(Heaps ... -
python range xrange
2013-06-25 23:30 1106引用Help on built-in function ran ... -
python class
2013-06-25 00:54 1791引用类是创建新对象类 ... -
AttributeError: 'module' object has no attribute 'SendCloud'
2013-06-05 11:46 7022网上查了下 意思是说你命名的文件名不能和lib重名,这样会导 ... -
python string
2013-05-07 23:44 2163如果这就是字符串,这本来就是字符串 首先看下字符串的方法 ... -
Python property
2013-03-29 19:56 0由于之前有总结过,可以参考http://2057.iteye. ... -
python tips
2013-03-28 23:57 8481、enum #!/usr/bin/env python ... -
python decorators
2013-03-28 23:36 1326Contains: 1、decorators 2、funct ... -
python closures
2013-03-28 22:09 1153Closure:如果在一个内部函数里,对在外部作用域(但不是在 ... -
Python map、filter,reduce介绍
2013-03-28 22:02 12471、filter(function,iterable) 引用C ... -
Python __new__ 、__init__、 __call__
2013-03-26 23:49 5295Contains: __new__: 创建对象时调用,返回当 ... -
Python socket简介
2013-03-25 23:42 2119自豪地使用dir和help. Python 2.7.2 ( ... -
Tornado ioloop源码简析
2013-03-21 00:18 2802#!/usr/bin/env python #-*-en ...
相关推荐
最近在玩Python,在粗略的看了一下Learning Python和Core Python之后,偶然发现网上有个帖子Python程序员的进化写的很有意思。于是打算仿照一篇,那篇帖子用了十余种方法完成一个阶乘函数,我在这里会用九种不同的...
自从 2008 年以来,Python 3 横空出世并慢慢进化。Python 3 的流行一直被认为需要很长一段时间。 事实上,到我写这本书的 2013 年,绝大部分的 Python 程序员仍然在生产环境中使用的是版本 2 系列, 最主要是因为 ...
自从2008 年以来,Python3 横空出世并慢慢进化。Python3 的流行一直被认为需 要很长一段时间。事实上,到我写这本书的2013 年,绝大部分的Python 程序员仍然 在生产环境中使用的是版本2 系列,最主要是因为Python3 ...
人工智能大作业Python基于卷积神经网络的五子棋项目源码+报告,含棋盘识别、博弈算法、进化学习及监督学习 一、说明 人工智能基础课程大作业,共分为四个小问题。 棋盘识别:从对局棋盘图片识别棋局落子情况,识别...
假设有一个旅行商人要拜访 n 个城市,他必须选择所要走的路径,路经的限制是每个城市只 能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有 路径之中的最小值。TSP 问题是一个组合...
MySQLdb包在python3.7版本下的安装包, 进入对应目录下后,pip install mysqlclient-2.0.2-cp37-cp37m-win_amd64.whl安装
点击内部的python文件运行,可看到机械臂摇晃
它是一种基于堆栈的语言,每种数据类型(包括代码)具有1个堆栈。 程序由指令列表表示,这些指令列表修改堆栈上的值。 指令按顺序执行。 有关PushGP的更多信息,请参见 , 和。为什么要使用PushGP? PushGP是领先的...
python使用dir()函数获取对象中可用的属性和方法(看不到python源码又想知道怎么调用,DLL调用分析,SDK二次开发技巧)
python pyqt5
python多线程下tcp服务端,数据实时动态打包发送,就是一边改变数据一边发送的意思哈,python3.6写的哈
通过自适应NSGA-II和自适应MOEA / D解决多目标多阶段武器目标分配问题的比较研究
通过ros建立工作区打印helloworld,通过c++与python两种方式
mmp,老子下半天才下下来,翻了墙还是慢,气死老子了 官网地址: https://pypi.org/project/open3d/0.16.0/#files 安装命令: pip install open3d-0.16.0-cp39-cp39-win_amd64.whl
leetcode算法题主函数如何写 ... 示例:一个王者荣耀账户里的数据 5.1、进阶:数据存储与01 整数的存储与二进制 数值bug是怎么产生的 为何实数也叫浮点数 真和假也算数据类型么 文字如何存储 6、基本
docker下使用django的项目,GitHub链接: https://github.com/twtrubiks/docker-tutorial
python pyqt5
python pyqt5
cv2是带opencv的python环境,使用方法放到anconda下的envs文件夹下解压后在pycharm下配置环境即可