文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Python 有趣的例子

Python 有趣的例子

时间:2007-01-16  来源:linxh

本文转自: http://learn.tsinghua.edu.cn:8080/2005212716/html/python.html  

1 有趣的例子

1.1 看不懂

Python 的代码以可读性强著称, 不过如果你足够变态的话, 还是能够写出很可怕的代码的。 Ulf Bartelt 就写了这些可怕的代码:

小于 1000 的质数:

print filter(None,map(lambda y:y*reduce(lambda x,y:x*y!=0, map(lambda x,y=y:y%x,range(2,int(pow(y,0.5)+1))),1),range(2,1000))) 

开头 10 个 Fibonacci 数:

print map(lambda x,f=lambda x,f:(x<=1) or (f(x-1,f)+f(x-2,f)): f(x,f), range(10)) 

Mandelbrot 集:

print (lambda Ru,Ro,Iu,Io,IM,Sx,Sy:reduce(lambda x,y:x+y,map(lambda y, Iu=Iu,Io=Io,Ru=Ru,Ro=Ro,Sy=Sy,L=lambda yc,Iu=Iu,Io=Io,Ru=Ru,Ro=Ro,i=IM, Sx=Sx,Sy=Sy:reduce(lambda x,y:x+y,map(lambda x,xc=Ru,yc=yc,Ru=Ru,Ro=Ro, i=i,Sx=Sx,F=lambda xc,yc,x,y,k,f=lambda xc,yc,x,y,k,f:(k<=0)or (x*x+y*y >=4.0) or 1+f(xc,yc,x*x-y*y+xc,2.0*x*y+yc,k-1,f):f(xc,yc,x,y,k,f):chr( 64+F(Ru+x*(Ro-Ru)/Sx,yc,0,0,i)),range(Sx))):L(Iu+y*(Io-Iu)/Sy),range(Sy ))))(-2.1, 0.7, -1.2, 1.2, 30, 80, 24) # \___ ___/ \___ ___/ | | |__ lines on screen  # V V | |______ columns on screen  # | | |__________ maximum of "iterations"  # | |_________________ range on y axis  # |____________________________ range on x axis  

小孩子千万别在自己家里乱试!

 

1.2 无穷递归现象

看这段代码:

[edward@argos Viki]$ python Python 2.4.1 (#1, Apr 12 2005, 15:37:40) [GCC 3.4.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> GNU=["GNU","'s not", "Unix"] >>> GNU[0]=GNU >>> GNU [[...], "'s not", 'Unix'] >>> GNU[0] [[...], "'s not", 'Unix'] >>> GNU[0][0] [[...], "'s not", 'Unix'] >>> GNU[0][0][0] [[...], "'s not", 'Unix'] >>> GNU[0][0][0][0] [[...], "'s not", 'Unix'] >>> GNU[0][0][0][0][0] [[...], "'s not", 'Unix'] >>> GNU[0][0][0][0][0][0] [[...], "'s not", 'Unix'] >>> GNU[0][0][0][0][0][0][0] [[...], "'s not", 'Unix'] >>> 

好像有点可怕啊……

2 乱七八糟的 Python

2.1 乱七八糟的逻辑常量

看看下面的代码片段, 貌似 Python 根本就没把 True、False 当作逻辑常量来处理。

Python 2.4.1 (#1, Apr 12 2005, 15:37:40) [GCC 3.4.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> True = False >>> print False False >>> print True False >>> 

怎么办? 怎么办? 天下大乱了!

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载