【python】10分钟教你用python一行代码搞点大新闻,,准备相信各位对pyt


准备

相信各位对python的语言简洁已经深有领会了。那么,今天就带大家一探究竟。看看一行python代码究竟能干些什么大新闻。赶紧抄起手中的家伙,跟我来试试吧。

首先你得先在命令行进入python。像下面一样。

1>python
2Python3.6.0(v3.6.0:41df79263a11,Dec232016,08:06:12)[MSCv.190064bit(AMD64)]onwin32
3Type"help","copyright","credits"or"license"formoreinformation.

python之禅

让我们用一行代码以python 的哲学开始吧。输入:import this。

 1>>>importthis
2TheZenofPython,byTimPeters
3
4Beautifulisbetterthanugly.
5Explicitisbetterthanimplicit.
6Simpleisbetterthancomplex.
7Complexisbetterthancomplicated.
8Flatisbetterthannested.
9Sparseisbetterthandense.
10Readabilitycounts.
11Specialcasesaren‘tspecialenoughtobreaktherules.
12Althoughpracticalitybeatspurity.
13Errorsshouldneverpasssilently.
14Unlessexplicitlysilenced.
15Inthefaceofambiguity,refusethetemptationtoguess.
16Thereshouldbeone--andpreferablyonlyone--obviouswaytodoit.
17Althoughthatwaymaynotbeobviousatfirstunlessyou‘reDutch.
18Nowisbetterthannever.
19Althoughneverisoftenbetterthan*right*now.
20Iftheimplementationishardtoexplain,it‘sabadidea.
21Iftheimplementationiseasytoexplain,itmaybeagoodidea.
22Namespacesareonehonkinggreatidea--let‘sdomoreofthose!
23>>>

Python为什么如此吸引人?你需要读一读这个。翻译和解释如下:

本文最初发表于恋花蝶的博客(http://blog.csdn.net/lanphaday),如蒙转载,敬请何留全文完整,并连本声明一起转载。

 1Python之禅byTimPeters
2
3优美胜于丑陋(Python以编写优美的代码为目标)
4明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)
5简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)
6复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)
7扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)
8间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)
9可读性很重要(优美的代码是可读的)
10即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)
11不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写except:pass风格的代码)
12当存在多种可能,不要尝试去猜测
13而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)
14虽然这并不容易,因为你不是Python之父(这里的Dutch是指Guido)
15做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)
16如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)
17命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)

Mandelbrot图像

有一个著名的图像叫Mandelbrot。Mandelbrot图像中的每个位置都对应于公式N=x+y*i中的一个复数。其实数部分是x,虚数部分是y,i是-1的平方根。图像中各个位置的x和y坐标对应于虚数的x和y部分。图像如下:

技术分享图片image

那么,用一行代码画出这个图像。如下:

 1>>>print(‘\n‘.join([‘‘.join([‘*‘ifabs((lambdaa:lambdaz,c,n:a(a,z,c,n))(lambdas,z,c,n:zifn==0elses(s,z*z+c,c,n-1))(0,0.02*x+0.05j*y,40))<2else‘‘forxinrange(-80,20)])foryinrange(-20,20)]))
2*
3
4
5**
6***********
7************
8*********
9****************
10***********************************
11********************************************
12*******************************************
13************************************************
14**************************************************
15*******************************************************
16*******************************************************
17*******************************************************************
18************************************************************************
19********************************************************************************
20*******************************************************************************
21************************************************************************************
22*********************************************************************************************
23************************************************************************************
24*******************************************************************************
25********************************************************************************
26************************************************************************
27*******************************************************************
28*******************************************************
29*******************************************************
30**************************************************
31************************************************
32*******************************************
33********************************************
34***********************************
35****************
36*********
37************
38***********
39**
40
41
42>>>

有趣love爱心

我孩子的英文名叫andy,也许当初教他写程序的时候,如果先秀一下这行代码,可能就更能激起他对代码的兴趣了。一行代码打印心形:

 1>>>print(‘\n‘.join([‘‘.join([(‘Love‘[(x-y)%len(‘Love‘)]if((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<=0else‘‘)forxinrange(-30,30)])foryinrange(30,-30,-1)]))
2
3
4veLoveLovveLoveLov
5eLoveLoveLoveLoveeLoveLoveLoveLove
6veLoveLoveLoveLoveLoveLoveLoveLoveLoveLov
7veLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveL
8veLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLov
9eLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLove
10LoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveL
11oveLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLo
12veLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLov
13eLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLove
14oveLoveLoveLoveLoveLoveLoveLoveLoveLoveLove
15eLoveLoveLoveLoveLoveLoveLoveLoveLoveLove
16LoveLoveLoveLoveLoveLoveLoveLoveLoveLoveL
17eLoveLoveLoveLoveLoveLoveLoveLoveLove
18oveLoveLoveLoveLoveLoveLoveLoveLove
19eLoveLoveLoveLoveLoveLoveLoveLove
20veLoveLoveLoveLoveLoveLoveLov
21oveLoveLoveLoveLoveLoveLo
22LoveLoveLoveLoveLoveL
23LoveLoveLoveLov
24LoveLoveL
25Lov
26v

但是,仅凭这样还是不足以捕获妹子真心的(我知道你们想说无论怎样都捕获不了妹子的真心)。小编在这发现了一个更好玩的玩法,咱们用定时器来做个高级一点的吧。代码如下:

1importtime
2words=input(‘输入你想说的话哦!:‘)
3foriteminwords.split():
4print(‘\n‘.join([‘‘.join([(item[(x-y)%len(item)]if((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<=0else‘‘)forxinrange(-30,30)])foryinrange(12,-12,-1)]))
5time.sleep(1.5)

至于效果嘛,看下面,是不是好很多了?

技术分享图片

九九乘法表

python一行代码打印九九乘法表,如下:

 1>>>print(‘\n‘.join([‘‘.join([‘%s*%s=%-2s‘%(y,x,x*y)foryinrange(1,x+1)])forxinrange(1,10)]))
21*1=1
31*2=22*2=4
41*3=32*3=63*3=9
51*4=42*4=83*4=124*4=16
61*5=52*5=103*5=154*5=205*5=25
71*6=62*6=123*6=184*6=245*6=306*6=36
81*7=72*7=143*7=214*7=285*7=356*7=427*7=49
91*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=64
101*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81
11>>>

来个水波展示

1while1:importrandom;print(random.choice(‘╱╲‘),end=‘‘)

效果看下图:

技术分享图片

源代码下载

源代码下载在公众号后台回复:【pyone】,不包括【】即可下载。

希望我们的分享,能给你带来更多收获。

技术分享图片微信公众号

【python】10分钟教你用python一行代码搞点大新闻

评论关闭