赞
踩
这篇文章主要介绍了python简单有趣的程序源代码,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。
Python能干的事太多了,这里分享一下我个人觉得比较有趣的几个小项目。每一个都超实用,拿去就能运行的那种!
0、图片转字符
- from PIL import Image
- IMG = 'yangmingblog.cn.jpg' #设置图片文件
- WIDTH = 150 #设置字符画的宽
- HEIGHT = 80 #设置字符画的高
- OUTPUT = 'output5.txt' #设置存放字符画的文本文件
- ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ") #设置显示的字符集
- def get_char(r,g,b,alpha = 256):
- if alpha == 0:
- return ' '
- length = len(ascii_char)
- gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b)
- unit = (255.0 + 1)/length
- return ascii_char[int(gray/unit)]
- if __name__ == '__main__':
- im = Image.open(IMG)
- im = im.resize((WIDTH,HEIGHT), Image.NEAREST)
- txt = ""
- for i in range(HEIGHT):
- for j in range(WIDTH):
- txt += get_char(*im.getpixel((j,i)))
- txt += '\n'
- print(txt)
- with open(OUTPUT,'w') as f:
- f.write(txt)
转换结果对比:
1、一行代码的魅力
只需要一个print语句,就可以输出一个大大的心形:
print('\n'.join([''.join([('lovelovelove'[(x-y)%12]if((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<=0 else' ')for x in range(-30,30)])for y in range(15,-15,-1)]))
看下效果:
作者:阿呆
链接:https://www.zhihu.com/question/517677437/answer/2416389646
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
其实Python的一行代码还可以干很多事,例如,打印九九乘法表:
print('\n'.join([' '.join(['%s*%s=%-2s' % (y, x, x * y) for y in range(1, x + 1)]) for x in range(1, 10)]))
一行代码计算出1-1000之间的素数:
print(*(i for i in range(2, 1000) if all(tuple(i%j for j in range(2, int(i**.5))))))
一行代码可以输出前100项斐波那契数列的值:
print [x[0] for x in [ (a[i][0], a.append((a[i][1], a[i][0]+a[i][1]))) for a in ([[1,1]], ) for i in xrange(100) ]]
还有很多。。。
只需两行代码,就可以拥有一个动态二维码。
- from MyQR import myqr
- myqr.run(words='https://yangmingblog.cn',picture='Sources/gakki.gif',save_name='qr4.png',colorized=True)
因为这里不能放二维码,所以就不看效果了。
只需四行代码,就可以生成专属词云。
- from wordcloud import WordCloud
- wc = WordCloud() # 创建词云对象
- wc.generate('weixin gongzhonghao CoderAdai yangmingblog.cn') # 生成词云
- wc.to_file('cy.png') # 保存词云
来看下效果:
只需5行代码。
- import turtle
- t = turtle.Pen()
- for x in range(360):
- t.forward(x)
- t.left(59)
在GitHub上,可以通过搜索spider,找到关于Python的爬虫项目,里边只有你想不到,没有Python做不到的。
这里简单列举几个。
好了,我是雨雨,一个不务正业的程序员,如果感到对有所帮助,不妨留个小赞吧~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。